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"
Je dois mettre à jour toutes les devises de la table lottery_prizes où les ID proviennent de la requête ci-dessus. Je l'ai faitMISE À JOUR Colonne avec jointure
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")
J'ai cette erreur:
/* Erreur SQL (1093): Vous ne pouvez pas spécifier la table cible 'lottery_prizes' pour la mise à jour dans la clause FROM */ Merci à tous
L'un des défauts mysql ennuyeux ... –
je suis d'accord avec vous .. – Oyeme