两个表具有相同的名称ID,现在我想通过使用子查询上的where子句从子查询中获取两个ID列
这是具有两列p.id和s.id的查询
select name,price,total,user_id,id,id from(
SELECT p.name,p.price,s.user_id,s.id,p.id FROM products p,shoping_cart
s where p.id=s.product_id
) z where z.user_id=11
答案 0 :(得分:1)
首先,您可以尝试使用别名来代表这两列。
没有必要在查询中使用子查询,您可以尝试直接select
对其进行访问。
我将使用join
语法而不是,
逗号来连接两个表,因为,
的意思是CROSS JOIN
是旧样式。
SELECT
p.name,
p.price,
s.user_id,
s.id 'sid',
p.id 'pid'
FROM products p JOIN shoping_cart s on p.id=s.product_id
WHERE s.user_id = 11