2014-10-16 67 views
0

想知道如果你能幫我解決這個問題。欄目列表D1'ambigious

通常,如果你想運行一個加入你使用像我在這裏寫了一個腳本的INSERT ...

INSERT INTO products_BU (`d1`) 
     SELECT `D1` 
     FROM new_dimensions_BU 
     LEFT JOIN new_dimensions_BU AS ud 
     ON products_BU.size_code = ud.SIZE_CODE 

這裏的難題,在products_BU沒有字段正好是D1,此外,即使有,對我而言,僅僅爲該列使用別名也很簡單。如果我使用別名ud.D1,我會遇到另一個問題,即在'on子句'中顯示Unknown列'products_BU.size_code',儘管我可以看到它完全是size_code。

如果我刪除了別名,我再次得到含糊不清的列,因此刪除別名也不起作用。

任何人都可以闡明爲什麼會發生這樣的錯誤嗎?

+0

*在products_BU中沒有完全爲D1 *的字段,這怎麼可能?,您正在使用INSERT INTO products_BU(d1)',因此該表中存在'd1' **必須** – Lamak 2014-10-16 16:08:50

+0

yes但是肯定它們因「D1」中的首都而不同?即使它們是相同的並且我使用了別名,它仍然會失敗。 – 2014-10-16 16:13:03

+0

你有這個連接謂詞--'products_BU.size_code = ud.SIZE_CODE' - 但'products_BU'沒有出現在選擇列表中,這就是爲什麼你會得到未知的列錯誤。我懷疑你想'new_dimensions_BU.size_code = ud.SIZE_CODE'。 – GarethD 2014-10-16 16:13:57

回答

0

當你有這樣的查詢:

insert into table2 
(field1, field2, etc) 
select query goes here 

的選擇查詢必須能夠在它自己的成功執行。

看這段代碼:

FROM new_dimensions_BU 
LEFT JOIN new_dimensions_BU AS ud 
ON products_BU.size_code = ud.SIZE_CODE 

您正試圖引用產品表沒有加入到它。