模糊列名称错误

-4 sql sql-server

我有两个表,我想连接表CustomerID(CustomerID两个表是相同的).所以我使用了我的查询:

SELECT
   Cus.CustomerID
FROM
   Customers AS Cus
JOIN
   Payments AS Pay ON Cus.CustomerID = Pay.CustomerID
WHERE
  CustomerID = 2 
Run Code Online (Sandbox Code Playgroud)

它显示一个错误:

where子句中的'CustomerID'含糊不清

如何以不添加表名的方式解决模糊列名错误CustomerID

Pat*_*man 6

由于它不知道CustomerID在您的where子句中CustomerID = 2使用哪个,您应该指定使用哪个:

SELECT
   Cus.CustomerID
FROM
   Customers AS Cus
JOIN
   Payments AS Pay
ON
   Cus.CustomerID = Pay.CustomerID
WHERE
  Cus.CustomerID = 2 
Run Code Online (Sandbox Code Playgroud)

如果你使用Cus.CustomerID或者Pay.CustomerID因为它们在你当前的陈述中总是相同的(因为你在你的中等于它们join)并不重要.