簡體   English   中英

使用多個表聯接

[英]Joins Using Multiple Tables

在這里真的很掙扎,不太了解發生了什么。 使用MS SQL Server 2012。

如果我要運行以下代碼:

USE database 1;
GO

SELECT a.ID, b.ID, c.ID, d.ID
FROM table1 a, table2 b, table3 c, table3 d
INNER JOIN database2.tablex tx ON a.ID = tx.ID 

由於某種原因,它將無法正常工作。 Intellisense將僅顯示列表中的最后一個別名,即“ d”。 如果我將其余的代碼寫出來,則無法綁定syays xxxx列...我該怎么做? 我想從多個表中進行選擇,然后對所有表應用內部聯接(構建DW)。

謝謝

不要混合使用兩種樣式的連接-舊的一種( WHERE連接條件)和新的(使用JOIN關鍵字)。 您的查詢無效,因為JOIN僅顯示FROM最新表:

--Doesn't work 
SELECT a.ID, b.ID, c.ID, d.ID
FROM table1 a, table2 b, table3 c, table3 d
INNER JOIN database2.tablex tx ON a.ID = tx.ID 

--Works (note - table1 a is the last in "FROM"):
SELECT a.ID, b.ID, c.ID, d.ID
FROM  table2 b, table3 c, table3 d, table1 a 
INNER JOIN database2.tablex tx ON a.ID = tx.ID ;

-- Preferred way :
SELECT a.ID, b.ID, c.ID, d.ID
FROM  table1 a  
INNER JOIN table2 b ON (...)
INNER JOIN table3 c ON (...) 
INNER JOIN table3 d ON (...)
INNER JOIN database2.tablex tx ON a.ID = tx.ID 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM