mysql - mysql - 从 2 个不同的表中选择不同的行
问题描述
Table 1(pending_order)
Table 2(user)
询问:
SELECT DISTINCT * FROM user,pending_order WHERE user.id= pending_order.user_id
预期 o/p:只有 2 行,因为用户 1,2 有 2 个挂单。但是我将所有表格行与pending_order
表格结合在一起user
。
解决方案
您的查询应该有效。但我会把它写成:
SELECT u.*, po.*
FROM user u JOIN
pending_order po
ON u.id = po.user_id;
这应该只返回有挂单的用户 2。
如果您只想要有挂单的用户,请使用 `exists:
select u.*
from user u
where exists (select 1
from pending_order po
where u.id = po.user_id
);
推荐阅读
- python - 更改熊猫数据框中重复项的值
- javascript - 当范围被覆盖时显示警报消息 - Excel Office js
- python - Pygame - 在 pygame 窗口周围移动一个正方形,但在改变方向时无法停止当前移动,导致正方形沿对角线移动
- angular - 我们如何在 Angular 7 中为绝对路径配置 Stylus?
- bash - 接收后挂钩中的 PATH 不包含 bashrc 中设置的 PATH
- libgdx - 围绕内部和外部点旋转 Sprite Libgdx
- regex - 如果不包含特定单词,则匹配字符串
- java - 如何从 sql 报告服务服务器生成 ReportExecutionService
- security - 浏览器中的 GoogleDrive API V3:公开的客户端 ID 和 API 密钥。有什么安全问题吗?
- laravel - Laravel Eloquent 增量而不更新时间戳