作者ji3g4al6al6 (毛毛)
看板Database
標題[SQL ] 多表單選取
時間Fri Jun 4 23:03:32 2010
我使用的是MySQL 5.1
update droplist set item =
( select armor. name, etcitem. name, weapon. name
from armor, etcitem, weapon
where droplist. itemId = armor. item_id
or droplist. itemId = etcitem. item_id
or droplist. itemId = weapon. item_id )
我想寫的是我想在droplist這個表單的item欄位
填入armor etcitem weapon這三個表單的name所對應的值
附上查詢訊息:
[Err] 1241 - Operand should contain 1 column(s)
如果單一droplist對三個表單其中一個的話
分別執行會把上一個結果洗掉,如下寫法
update droplist set item =
( select armor. name from armor where armor. item_id = droplist. item_id );
update droplist set item =
( select etcitem. name from etcitem where etcitem. item_id = droplist. item_id );;
update droplist set item =
( select weapon. name from weapon where weapon. item_id = droplist. item_id )
有什麼寫法可以同時選取三個表單?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.158.33
※ 編輯: ji3g4al6al6 來自: 220.134.158.33 (06/04 23:13)
1F:推 sidetalker:select armor.name+','+etcitem.name+','+weapon.name 07/06 18:26
2F:推 sidetalker:where那邊的or通通改成and,而且要確定各只有一筆符合 07/06 18:34