J'ai cette requête, qui sélectionne les données de l'une des colonnes de la ligne précédente ('next_line'), et les données d'une colonne différente dans la plus récente row ('raw_line')."Chaque table dérivée doit avoir son propre alias" même si je leur ai donné des alias
SELECT CONCAT((SELECT `next_line` FROM `lines` ORDER BY id DESC LIMIT 1 OFFSET 1), (SELECT
`raw_line` FROM `lines` ORDER BY id DESC LIMIT 1))
Cette requête fonctionne parfaitement telle quelle. Mais ce que je veux faire est de mettre cette sortie dans une colonne différente dans la ligne la plus récente * ('composée_line') *. Mais quand je fais ceci:
UPDATE `lines` set `composed_line`=CONCAT((SELECT `next_line` FROM `lines` ORDER BY id DESC LIMIT
1 OFFSET 1), (SELECT `raw_line` FROM `lines` ORDER BY id DESC LIMIT 1)) ORDER BY id DESC LIMIT 1;
Je reçois cette erreur:
#1093 - You can't specify target table 'lines' for update in FROM clause
J'ai donc essayé ceci:
UPDATE `lines` set `composed_line`=CONCAT((SELECT `next_line` FROM (SELECT * FROM `lines` ORDER
BY id DESC LIMIT 1 OFFSET 1) AS `alias`, (SELECT `raw_line` FROM (SELECT * FROM `lines` ORDER BY
id DESC LIMIT 1)) AS `alias2` ORDER BY id DESC LIMIT 1
Et je suis arrivé cette erreur:
#1248 - Every derived table must have its own alias
Je ne peux pas voir ce que je fais mal - faire 'alias' et 'alias2' ne compte pas comme alias de table dérivés?
Toute aide est tellement appréciée!
double possible de [chaque table dérivée doit avoir son propre alias] (http://stackoverflow.com/questions/ 1888779/every-derived-table-doit-avoir-son-alias) – hkf