Oye*_*eme 1 mysql sql mysql-error-1093
SELECT lott.id as lottery_id,lott.abbr,lott.currency,payments.id as payment_id,
payment_prizes.prize_id,prizes.name,prizes.currency as prizes_currency
FROM lotteries lott
JOIN lottery_payments payments
ON
payments.lottery_id = lott.id
JOIN lottery_payment_prizes payment_prizes
ON
payment_prizes.payment_id = payments.id
JOIN lottery_prizes prizes
ON
prizes.id = payment_prizes.prize_id
WHERE lott.currency = "ID"
Run Code Online (Sandbox Code Playgroud)
我需要更新来自lottery_prizes表的所有货币WHERE id来自上面的查询.我这样做了
UPDATE lottery_prizes SET currnecy = 'ID'
WHERE id IN(SELECT prizes.id
FROM lotteries lott
JOIN lottery_payments payments
ON
payments.lottery_id = lott.id
JOIN lottery_payment_prizes payment_prizes
ON
payment_prizes.payment_id = payments.id
JOIN lottery_prizes prizes
ON
prizes.id = payment_prizes.prize_id
WHERE lott.currency = "ID")
Run Code Online (Sandbox Code Playgroud)
我有这个错误:
/*SQL错误(1093):您无法在FROM子句中为更新指定目标表'lottery_prizes'*/
全部谢谢
UPDATE lottery_prizes l
JOIN (SELECT prizes.id
FROM lotteries lott
JOIN lottery_payments payments
ON
payments.lottery_id = lott.id
JOIN lottery_payment_prizes payment_prizes
ON
payment_prizes.payment_id = payments.id
JOIN lottery_prizes prizes
ON
prizes.id = payment_prizes.prize_id
WHERE lott.currency = "ID") t
ON t.Id = l.Id
SET currency = 'ID'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1123 次 |
| 最近记录: |