2011-12-29 46 views
-4

我正在使用MySQL。我有以下查詢:SQL查詢中的未知列

SELECT DISTINCT c.car_id FROM cars AS c JOIN customer_cars bb ON bb.age=40; 

當我運行上面的查詢,我得到了錯誤:

ERROR 1054 (42S22): Unknown column 'c.car_id' in 'field list' 

我在哪裏錯了?

(無論carscustomer_cars表有car_id列)

+0

無論如何,該查詢是不完整的:你錯過了什麼?由於該錯誤消息不適用於該查詢... – gbn 2011-12-29 12:08:02

+0

@ gbn,如果我知道我錯在哪裏,我不會發布此帖......錯誤是針對此查詢的,如果您覺得查詢不完整,可以你指出我錯在哪裏,只需回答我的問題 – 2011-12-29 12:10:00

+2

未知列*** a ***。car_id,而你的查詢甚至沒有'a'。 – 2011-12-29 12:11:08

回答

2

不能你根本:

SELECT DISTINCT car_id FROM customer_cars WHERE age = 40; 
+0

不,我不能,我知道我的查詢是錯誤的,但我需要一個查詢來聯合選擇car_id。 cars和customer_cars都有car_id列,customer_cars表也有age列。 – 2011-12-29 12:14:53

+0

好點,這給出與OP的*意圖相同的答案*(我們猜測)查詢 – gbn 2011-12-29 12:22:11

+1

@ Leem.fin:**爲什麼**你認爲你需要加入汽車? – 2011-12-29 12:44:01

1

這個工作對我來說沒有任何錯誤

CREATE TEMPORARY TABLE cars (car_id INT NOT NULL); 
CREATE TEMPORARY TABLE customer_cars (car_id INT NOT NULL, age INT NOT NULL); 

SELECT DISTINCT c.car_id FROM cars AS c JOIN customer_cars bb ON bb.age=40; 

這與加盟條件也適用:

SELECT DISTINCT c.car_id 
FROM 
    cars AS c 
    JOIN 
    customer_cars bb USING (car_id) 
WHERE 
    bb.age=40; 

該錯誤不適用於該查詢...