[英]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.