[英]Error Code: 1052. Column 'TradeDate' in field list is ambiguous
我收到這樣的錯誤代碼
錯誤代碼:1052。字段列表中的“TradeDate”列不明確
當我嘗試加入兩張桌子時。 兩個 csv 文件列如下所示: data_price_temp消費
因此,我將所有表中的 Date 列命名為 TradeDate。 然后,我嘗試使用我創建的兩個表中的 TradeDate 來執行連接
我的語法看起來像這樣
CREATE DATABASE price_temp;
USE price_temp;
CREATE TABLE pricetemp(TradeDate CHAR(10),
Price double,
Temp double);
SELECT* FROM pricetemp
CREATE TABLE consumption(TradeDate CHAR(10),
Consumption double);
SELECT* FROM consumption
CREATE TABLE production(TradeDate CHAR(10),
Production double);
SELECT * FROM production
SELECT TradeDate, Price, Temp, Consumption
FROM pricetemp, consumption
WHERE pricetemp.TradeDate = consumption.TradeDate`
您的最后一個查詢應使用顯式聯接語法,並且應始終使用 table.field 表示法以避免您所指的錯誤
SELECT pricetemp.TradeDate, Price, Temp, Consumption
FROM pricetemp JOIN consumption ON
pricetemp.TradeDate = consumption.TradeDate
或者
SELECT consumption.TradeDate, Price, Temp, Consumption
FROM pricetemp JOIN consumption ON
pricetemp.TradeDate = consumption.TradeDate
要加入另一個表,只需:
SELECT consumption.TradeDate, Price, Temp, Consumption, anotherTable.production
FROM pricetemp
JOIN consumption ON pricetemp.TradeDate = consumption.TradeDate
JOIN anotherTable ON pricetemp.TradeDate = anotherTable.TradeDate
SELECT pricetemp.TradeDate, Price, Temp, Consumption
FROM pricetemp, consumption
WHERE pricetemp.TradeDate = consumption.TradeDate`
該錯誤告訴您有多個具有相同名稱的字段。 當您遇到這種情況時,您需要通過在表名前面加上表名來明確要使用哪個字段,例如tablename.fieldname
。 一旦你理解了這一點,你就可以毫無問題地加入更多的表格。 在我們的特定情況下pricetemp.TradeDate
和consumption.TradeDate
具有相同的值,但 RDBMS 不知道這一點,並要求您指定您打算使用哪一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.