两个表具有相同的名称 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
最佳答案
首先,您可以尝试使用别名来表示这两列。
没有理由需要在查询中使用子查询,您可以尝试直接选择
。
我会使用 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
关于mysql - 从子查询中选择具有相同名称的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56982555/