2013-08-29 76 views
1
SELECT id from reparacoes WHERE id_reparacao 
IN (select DISTINCT re.id_reparacao 
FROM reparacoes re 
WHERE(edit_user="loja cascais" AND estado="Fechada" AND edit_data = (SELECT edit_data, id FROM reparacoes WHERE id_reparacao=re.id_reparacao ORDER BY edit_data DESC LIMIT 1))) 

雖然與phpMyAdmin查詢,它給了我這個錯誤:查詢錯誤#1241

#1241 - Operand should contain 1 column(s) 

回答

3

你的問題是在這裏:

edit_data = (SELECT edit_data, id FROM reparacoes WHERE id_reparacao=re.id_reparacao ORDER BY edit_data DESC LIMIT 1) 

你不能標量場與有東西比較多於一列(即非標量,但是行)。

我想正確的是:

edit_data = (SELECT edit_data FROM reparacoes WHERE id_reparacao=re.id_reparacao ORDER BY edit_data DESC LIMIT 1)