2012-04-07 62 views
1

我嘗試此查詢在phpMyAdmin:哪裏不能在sql查詢中工作?

INSERT INTO t1 (col1, col2) 
SELECT DISTINCT col1, col2 
FROM t2 
WHERE (SELECT col3 FROM t1) = ANY (SELECT col3 FROM t2) 

,但給我的錯誤:#1242 - 子查詢返回超過1行多!

任何人都可以修復它?

+0

插入查詢缺少值的關鍵字和參數 – 2012-04-07 11:45:11

+2

@raheelshan'INSERT()SELECT ...'是有效的SQL,沒有'VALUES'失蹤。正如dasblinkenlight所指出的那樣,錯誤在於別處。 – dgw 2012-04-07 11:51:10

回答

3

WHERE條件不正確,因爲它試圖將一個值與一個集合進行比較;這正是錯誤試圖告訴你的。

試試這個:

WHERE EXISTS (select 1 from t1 t1j join t2 t2j on t1j.col3=t2j.col3) 
+0

你是最好的,它的工作非常好.. Thaaanks – 2012-04-07 11:59:04