我是SQL新手。这是多个表的正确连接。
{{1}}
答案 0 :(得分:4)
你的问题
这是多个表的正确连接
应该用否回答...... 可能按预期工作,但这种加入方式已经过时了几个世纪。
您的方法将所有表格命名为逗号分隔。这将导致一个巨大的笛卡尔产品,每行与每一行的组合。以下WHERE
子句确保您只获得所需/相关的行和列...
不知道你的结构这是一次盲目飞行,但我认为你正在寻找这样的事情:
select *
from [dbo].[Quotes] Q
inner join [dbo].[QuoteLines] QL on Q.ID=QL.QuoteID
inner join [dbo].[Invoices] I on I.QuoteID=Q.ID
inner join [dbo].[Receipts] R on R.QuoteID=Q.ID
where QL.Amount = 336.47
and QL.TravelType = 'International'
and QL.[Type] = 'Accommodation';
在某些情况下,您可能希望将inner
更改为left
,而不是每一行在另一侧都有相应的行。
答案 1 :(得分:0)
Try this:-
Select table1.ID ,table1.Name
from Table1
inner join Table2 on Table1 .ID =Table2 .ID
inner join Table3 on table2.ID=Table3 .ID
where table1.Name = Table3.Name