Php 我的数据库查询哪里出错了?
我有一个数据库查询Php 我的数据库查询哪里出错了?,php,mysql,laravel,Php,Mysql,Laravel,我有一个数据库查询 $extras = DB::select( 'SELECT p.* FROM products p WHERE required_product IS NULL UNION ALL SELECT p.* FROM products p, orders o WHERE p.required_product = o.product_id AND o.user_id =' . $user-&
$extras = DB::select(
'SELECT p.*
FROM products p
WHERE required_product IS NULL
UNION ALL
SELECT p.*
FROM products p, orders o
WHERE p.required_product = o.product_id
AND o.user_id =' . $user->id . 'UNION ALL
SELECT p.* , "onlyOnce" product_type
FROM products p, orders o, only_once on
WHERE p.required_product = o.product_id
AND p.id = on.product_id
AND p.id NOT IN (SELECT product_id FROM orders WHERE o.product_id = p.id and o.user_id ='.$user->id.')'
);
以下是我的表格结构:
产品表:
订单表:产品id、用户id
用户表:id、名称、最后一个服务器、时间戳
语法错误
试试这个
$extras = DB::select(
'SELECT p.*
FROM products p
WHERE required_product IS NULL
UNION ALL
SELECT p.*
FROM products p, orders o
WHERE p.required_product = o.product_id
AND o.user_id =' . $user->id . ' UNION ALL
SELECT p.* , "onlyOnce" product_type
FROM products p, orders o, only_once
WHERE p.required_product = o.product_id
AND p.id = on.product_id
AND p.id NOT IN (SELECT product_id FROM orders WHERE o.product_id = p.id and o.user_id ='.$user->id.')'
);
返回了什么错误?无法合并列数不同或列类型不同的表。您在最后一次选择中有
p.*,“onlyOnce”产品类型
,但在前两次选择中只有p.
。。嗯,我不知道该做什么。你能给出代码或例子吗