我正在使用MSSQL。只要我与购买我们软件的客户一起开展项目,我们就是最后一步。那时我们必须给他们一些SQL查询来从MSSQL数据库中获取一些报告。
由于我不熟悉SQL,因此我遇到了连接多个表的问题。
我搜索了一些并创建了一个查询,但问题是加入一个表与其他人没有共同列与我在FROM标记后注意到的表。
让我解释一下:
我有5张桌子“x”,“y”,“z”,“w”,“m”。
“x”表具有带“y”,“z”和“w”表的公共列
“m”表有一个带有“y”表的公共列
我想从“m”中为我的报告选择另一列,如何将“x”加入该表,
我该怎么做?
答案 0 :(得分:1)
您可以将x连接到y,然后将x和y的组合连接到m。如果您希望结果只包含x和m的列,则不需要从y中选择任何列。类似的东西:
SELECT x.column_from_x, m.column_from_m
FROM x
JOIN y
ON x.xy_common_column = y.xy_common_column
JOIN m
ON m.my_common_column = y.my_common_column
您可能需要的任何WHERE
子句都可以遵循此操作。这里有一个更具体的例子:https://technet.microsoft.com/en-us/library/ms191430(v=sql.105).aspx
答案 1 :(得分:0)
由于M,Y和X有一些共同点,你可以使用下面的代码
SELECT
M.Col,
X,CoL
FROM M
INNER JOIN Y ON M.ID = Y.ID
INNER JOIN X ON Y.ID=X.ID