0
我試圖對Oracle鏈接的服務器執行此查詢,並得到以下錯誤,我知道我的查詢格式錯誤,但我無法弄清楚在哪裏以及如何。「ORA-01747:無效的user.table.column,table.column或列規範」
DECLARE @CREDIT_CUST_SQL NVARCHAR(1000) = NULL;
SET @CREDIT_CUST_SQL = 'SELECT
cu.[ST_CD]
,cu.[SRT_CD]
,cu.[TITLE]
,cu.[FNAME]
,cu.[INIT]
,cu.[LNAME]
,cu.[ADDR1]
,cu.[ADDR2]
,cu.[CITY]
,cu.[COUNTRY]
,cu.[ZIP_CD]
,cu.[HOME_PHONE]
,cu.[BUS_PHONE]
,cu.[EXT]
FROM [AR].[CUST] cu,
[CUSTOM].[CUST_OTHER] co,
[AR].[CUST_CR] cc
WHERE cu.CUST_CD = co.CUST_CD
AND cu.CUST_CD = cc.CUST_CD
AND cu.DOB IS NOT NULL'
EXECUTE (@CREDIT_CUST_SQL) AT LIVE_BD;
而且我得到這個錯誤,
「ORA-01747:無效user.table.column,TABLE.COLUMN,或列規格」
任何想法,爲什麼發生。謝謝。
你也應該使用顯式聯接即。 FROM Cust cu INNER JOIN Cust_Other co on cu.Cust_CD = co.Cust_CD .....,而不是您正在使用的cartestian連接ie。 FROM cust,cust_other – Leslie 2011-03-10 22:09:32
@Leslie,連接在where子句中完成。這不是笛卡兒的加入。 – DCookie 2011-03-11 17:31:46
@Dcookie - 通過讓FROM子句引用2個表並執行笛卡爾連接定義的條件:笛卡爾連接是將一個表的每一行連接到另一個表的每一行時。 你也可以通過將表的每一行連接到它自己的每一行來獲得一個表。 選擇* 從Film_Table,Director_Film_Table; http://www.fluffycat.com/SQL/Cartesian-Joins/ – Leslie 2011-03-11 22:01:21