1

UPDATE statistics'
SET money = money + '$money'
WHERE member_id IN
((SELECT member_id FROM races WHERE l_id = '$mem_id'), $other_id)

それの何がいけないの?レースからすべての member_id を取得し、member_id $other_id にも含めたいと考えています。$other_id がなくても機能します。

ちなみに、「サブクエリは複数の行を返します」というエラーが表示されます。

4

3 に答える 3

7

試してみてください:

UPDATE statistics
   SET money = money + $money
 WHERE member_id IN (
       SELECT member_id
         FROM races
        WHERE l_id = $mem_id 
       )
    OR member_id = $other_id

そして提案 -int型の列にはアポストロフィを使用しないでください。

于 2010-05-01T17:41:19.793 に答える
4

サブクエリは member_id と $other_id を返します

于 2010-05-01T17:40:50.497 に答える
4

それを行う別の方法:

(SELECT member_id FROM races WHERE l_id = '$mem_id'
UNION
SELECT $other_id)
于 2010-05-01T17:41:35.860 に答える