基本上我需要做這樣的事情的UPDATE嵌套SELECT ....這只是一個例子...但第一次查詢的語法並不在MySQL的MySQL在同一個表
update people set prize = ''
where prize = 'Gold' and class = (select class from people where id = person_id);
update people set prize = 'Gold' where id = <id>;
工作
只有一個人可以在任何課程中獲得金獎。我只知道獲得金獎的人的person_id。
我想在第一個查詢中將任何以前的金獎獲獎者與person_id在同一個類中作爲空白。然後在第二位設置新的金牌得主。
我相信我需要使用某種類型的內部連接,但我不是100%確定的。
如果我可以在一個查詢中完成所有操作,那將會更加智能!
任何人都可以借用建議嗎?
謝謝:)
,張貼在這個問題這不這樣做。在上面的查詢中只刪除了「金牌」獎項並設置了新的金牌,這樣您就可以在「金牌」或「銀牌」級別上覆蓋每個獎項。例如:如果其中一個人有「銅牌」價格會怎樣? – VVS 2009-05-27 17:04:58
@David Hympohl:好的,你可以通過在查詢結尾附加「WHERE class ='Gold'或id = @lucky」來實現。 – Andomar 2009-05-27 17:33:19
@David:@ op的查詢會爲班級中的每個人設置獎勵。我剛剛用'銀'替換了''''以提高可讀性 – Quassnoi 2009-05-27 17:40:58