【发布时间】:2019-05-06 15:03:10
【问题描述】:
我有两张表,Departments 和 Accounts。例如:
部门
+--------+--------+
|Company |DptCode |
+--------+--------+
|SND |CD41 |
+--------+--------+
|SND |CD42 |
+--------+--------+
帐户
+--------+--------+
|Company |AcctCode |
+--------+--------+
|SND |ACT |
+--------+--------+
|SND |BBS |
+--------+--------+
|SND |DIP |
+--------+--------+
我正在尝试编写一个查询来选择每个加入的部门以从 Accounts 表中获取所有帐户代码,就像这样
+--------+--------+
|DptCode |AcctCode|
+--------+--------+
|CD41 |ACT |
+--------+--------+
|CD41 |BBS |
+--------+--------+
|CD41 |DIP |
+--------+--------+
|CD42 |ACT |
+--------+--------+
|CD42 |BBS |
+--------+--------+
|CD42 |DIP |
+--------+--------+
如果我需要对它们进行分组,我无法弄清楚如何对它们进行分组,我不知道如何进行此加入。当我运行以下查询时,我得到了许多重复的行。
SELECT d.Company, d.DptCode, a.AcctCode
FROM Departments d
JOIN Accounts a ON d.Company = a.Company
【问题讨论】:
-
您的join逻辑实际上是正确的,但是您的select子句略有偏差。您发布的查询甚至不会运行。使用正确的列名,查询应该可以工作。
-
@TimBiegeleisen 我的错,当我从我的 sql-server 复制并粘贴到这里时,这是一个拼写错误。
-
那么这里的问题是什么?我使用 SQL Server 2014 创建了表和您的数据,您的查询产生了您想要的输出。
标签: sql sql-server tsql