sql - 使用 JOIN 添加较小的表
问题描述
我遇到了一种情况,我必须进行查询,从几个表中选择内容,我对 3 个表没有问题,我必须生成如下所示的内容。
+------------+----------+----------+-----------+------------+
| Access ID | Client | Seller | Manager | Function |
+------------+----------+----------+-----------+------------+
Access ID
来自表BO
Client
来自表BO
Seller
来自表BO
Manager
来自表BO2
Function
来自表CM3
我的代码JOIN
是:
SELECT BO.accessid, BO.client, BO.seller_name, BO2.manager, CM3.func FROM BO
JOIN BO2 ON BO2.bo2stamp = BO.bostamp
JOIN CM3 ON CM3.seller_number = BO.seller_number
现在我想添加表u_numbers
,但是当我添加JOIN u_numbers n ON n.bostamp = BO.bostamp
查询结果时,我的查询结果从 49 行降低到了 26 行。
其他每个表都有大约 20 列,但该u_numbers
表只有 5 列,行数要少得多,但即便如此我认为当我添加这个表时,查询返回的行数会和这个一样,但是该表有 38 行。
表结构u_numbers
:
+-----------------+-----------+----------+---------+---------------+
| u_numbersstamp | bostamp | number | order | Portability |
+-----------------+-----------+----------+---------+---------------+
我使用此查询的目标是在查询中为每个数字添加一行 where order <> 1
,为此我尝试了
CASE WHEN n.order <> 1 THEN n.number ELSE bo.accessid END
这段代码有效,所以如果我能让查询显示完整的行,那么我会正确地得到它。我也在(NOLOCK)
每张桌子上都有,然后我试图删除它,看看它是否改变了任何东西,但它没有。
解决方案
推荐阅读
- python - django url 跟随文件夹系统
- java - Java Tile Map 块坐标
- r - 从调度返回 R 脚本日志
- react-native - 屏幕渲染但不显示
- error-handling - 在 CATCH 中失败
- ios - 在应用程序中打开自定义 UTI 在 iOS13 中不起作用
- javascript - 在 Ramda 中获得元素数组组合的最佳方法?
- jupyter - 如何在 Jupyter Notebooks 上重置默认主题?(jt -r 不工作)
- c++ - WriteConsoleOutputCharacterW - 我的新行在哪里?
- ios - ScrollView 不会滚动 - Xcode