Autor Zpráva
nevimjak
Profil *
Prosim, tento select z sqlite v mysql #1248 - Every derived table must have its own alias . Kde je chybka? Děkuji za pomoc

SELECT * FROM (SELECT * FROM (SELECT * FROM (SELECT 'news_novinky' AS news,id,idd,img,datumc AS datumo,datumc AS datumd,titulek FROM news_novinky ORDER BY datumc DESC LIMIT 5) UNION ALL SELECT * FROM (SELECT 'news_kalendar' AS news,id,idd,img,datumo,datumd,titulek FROM news_kalendar WHERE datumd >= DATETIME('NOW','localtime') ORDER BY datumd LIMIT 5) UNION ALL SELECT * FROM (SELECT 'news_souteze' AS news,id,idd,img,datumo,datumd,titulek FROM news_souteze WHERE datumd >= DATETIME('NOW','localtime') ORDER BY datumd LIMIT 5)) x ORDER BY DATETIME('NOW','localtime') > datumo ASC)
Kajman
Profil
Za podotazem uzavřeným v závorce, který používáte v selectu, vyžaduje mysql alias.
SELECT *
FROM   (SELECT *
        FROM   (SELECT *
                FROM   (SELECT 'news_novinky' AS news,
                               id,
                               idd,
                               img,
                               datumc         AS datumo,
                               datumc         AS datumd,
                               titulek
                        FROM   news_novinky
                        ORDER  BY datumc DESC
                        LIMIT  5) cokoliv
                UNION ALL
                SELECT *
                FROM   (SELECT 'news_kalendar' AS news,
                               id,
                               idd,
                               img,
                               datumo,
                               datumd,
                               titulek
                        FROM   news_kalendar
                        WHERE  datumd >= Datetime('NOW', 'localtime')
                        ORDER  BY datumd
                        LIMIT  5) cokoliv
                UNION ALL
                SELECT *
                FROM   (SELECT 'news_souteze' AS news,
                               id,
                               idd,
                               img,
                               datumo,
                               datumd,
                               titulek
                        FROM   news_souteze
                        WHERE  datumd >= Datetime('NOW', 'localtime')
                        ORDER  BY datumd
                        LIMIT  5) cokoliv
               ) x
        ORDER  BY Datetime('NOW', 'localtime') > datumo ASC) cokoliv  


Pokud obalíte poddotazy jen pro union all, tak tam alias mít nemusí...

SELECT *
FROM   ((SELECT 'news_novinky' AS news,
                id,
                idd,
                img,
                datumc         AS datumo,
                datumc         AS datumd,
                titulek
         FROM   news_novinky
         ORDER  BY datumc DESC
         LIMIT  5)
        UNION ALL
        (SELECT 'news_kalendar' AS news,
                id,
                idd,
                img,
                datumo,
                datumd,
                titulek
         FROM   news_kalendar
         WHERE  datumd >= Datetime('NOW', 'localtime')
         ORDER  BY datumd
         LIMIT  5)
        UNION ALL
        (SELECT 'news_souteze' AS news,
                id,
                idd,
                img,
                datumo,
                datumd,
                titulek
         FROM   news_souteze
         WHERE  datumd >= Datetime('NOW', 'localtime')
         ORDER  BY datumd
         LIMIT  5)) x
ORDER  BY Datetime('NOW', 'localtime') > datumo ASC
nevimjak
Profil *
Kajman:
Paráda, děkuji, to jsem potřeboval ... jen jsem Datetime('NOW', 'localtime') zaměnil za NOW() a je to OK

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0