如你所知,如果我們選擇了兩個表,而我們有相同的列名,我們得到如下錯誤:模棱兩可的列名:爲什麼在某些情況下模糊不清?
'Ambiguous column name 'ColumnName''
我已經知道設置別名不解決這個問題。
然而,似乎如果列的名稱是SELECT語句不,然後它的SQL Server 2008 R2(在我的數據庫)。兼容性級別設置爲100
所以,以下語句不能工作:
SELECT t1.ID
FROM Table1 t1
JOIN Table2 t2 ON (t2.ID = t1.ID)
ORDER BY ID
但很顯然,在其他情況下,上述說法不返回一個錯誤(我知道這是因爲它發生在客戶的網站) 。同樣在SQL小提琴則返回錯誤都SQL Server 2008和SQL Server上的2012
有誰知道爲什麼在何種情況下上面的查詢仍返回錯誤或?
我的猜測是這是SQL Server上的版本或設置問題。
注意:鏈接的副本確實解決了我的問題。兼容性級別設置爲80.將其更改爲100可解決問題。
@SynerCoder請仔細看了一遍我的問題。 –
這部分是否正確:FROM Table1 t1 JOIN Table1 ON Table2 t2?故意將Table1與Table1連接起來嗎? – Ziouas
@Ziouas啊不,謝謝。我只是想展示我的問題 –