mysql - 从子查询中选择具有相同名称的列

标签 mysql

两个表具有相同的名称 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/

相关文章:

php - drupal 外露过滤器 "is empty (NULL)"下拉菜单不起作用

javascript - 从 ajax 运行 javascript

mysql时间戳比较日期字符串

mysql - 每小时必须执行数十万次的缓慢 mysql 查询

php - MYSQL - 从匹配的两个表中获取值

php - 使用 pdo 在数据库中插入多行

mysql - 如何将表与行值条件连接?

mysql - 在 mysql 中连接 3 个表,其中数据不存在于两个连接中

php - 返回全文搜索结果

javascript - 如何从 mysql 查询结果 onChange 下拉列表中自动填充文本框值?