[MYSQL] Mehrmahls auf eine temporäre Tabelle zugreifen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [MYSQL] Mehrmahls auf eine temporäre Tabelle zugreifen

    Hi Experten,

    ich habe hier folgenden Query.

    Quellcode

    1. CREATE TEMPORARY TABLE preselection AS
    2. ( SELECT id, title, chapter, date2, date, snid, max(score) FROM `movies`
    3. WHERE ( cluster is not NULL ) AND ( `date` <= '2012-02-20 05:20:00'
    4. AND `date` > '2012-02-19 17:20:00'
    5. AND (TIMEDIFF(date, date2) < '12:00:00') )
    6. GROUP BY cluster )
    7. UNION
    8. ( SELECT id, title, chapter, date2, date, snid, score FROM `movies`
    9. WHERE cluster IS NULL
    10. AND ( `date` <= '2012-02-20 05:20:00'
    11. AND `date` > '2012-02-19 17:20:00'
    12. AND (TIMEDIFF(date, date2) < '12:00:00') ) );
    13. (SELECT * FROM preselection WHERE snid=1
    14. AND chapter LIKE '#A_OT%' DESC LIMIT 4)
    15. UNION … UNION
    16. (SELECT * FROM preselection WHERE snid=19
    17. AND chapter LIKE '#A_OT%' LIMIT 4)
    18. UNION ... for each chapter from A to J and every snid from 1 to 19 ... UNION
    19. (SELECT * FROM preselection WHERE snid=1
    20. AND chapter LIKE '#J_OT%' LIMIT 4)
    21. UNION … UNION
    22. (SELECT * FROM preselection WHERE snid=19
    23. AND chapter LIKE '#J_OT%' LIMIT 4)
    24. ORDER BY `score` DESC, `date`;
    25. [syntax="sql"][/syntax]
    Alles anzeigen



    Das Problem ist, dass laut Doku "You cannot refer to a TEMPORARY table more than once in the same query." gilt, was ich mit den UNIONS aber tue. Kann man dieses Query so umschreiben, dass es das gleiche macht aber nicht mehrfach auf eine temporare Datenbank zugreifen muss?


    Grüße,

    EHW