SQL-Skill.....gehts besser ?

Begonnen von Breaker, 06 Mai 2008, 11:56:10

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Breaker

Eventuell ist ja jemand besser in Sachen Mysql und kann mir sagen, ob es eine bessere Methode gibt, um aus 1 Tabelle alle Datensätze und aus 3 weiteren Tabellen eventuelle Übereinstimmungen auszulesen


In der 1. Tabelle stehen alle Datensätze, die 2-4 Tabelle kann für jeden Datensatz zutreffen, ist das der Fall, werden zusätzliche Funktionen aktiviert.
Das Feld "k_code" ist Unique, kommt also mit jedem Wert nur 1 x pro Tabelle vor, wobei jeder Wert, der in der Tabelle "pm_mails" Vorkommt, auch in den anderen Tabellen auftauchen kann, aber nicht umgekehrt (es gibt kein "k_code" in den Tabellen "black", "reload", "gebucht" alleine, dieser ist dann auch immer in der Tabelle "pmails" vor)

Wies sieht es also aus....läßt sich diese Query noch verbessern ?


  $sql1 = sql_query("SELECT
        pmails.*,
        gebucht.k_code AS mail_gebucht,
        black.k_code AS mail_black,
        reload.k_reload AS mail_reload_reload
    FROM " . $prefix . _DB_TABLE_PWC_PM . " AS pmails
        LEFT JOIN " . $prefix . _DB_TABLE_PWC_PM_GEBUCHT . " AS gebucht
    ON (pmails.k_code = gebucht.k_code)
        LEFT JOIN " . $prefix . _DB_TABLE_PWC_PM_BLACKLISTE . " AS black
    ON (pmails.k_code = black.k_code)
        LEFT JOIN " . $prefix . _DB_TABLE_PWC_PM_RELOAD . " AS reload
    ON (pmails.k_code = reload.k_code)
        WHERE pmails.k_sponsor = 12
        AND pmails.k_art = $k_art
        ORDER BY pmails.k_ver DESC
    ");

Linux ist wie guter Sex, man kann es beschreiben oder drüber reden,
man weiß erst was es bedeutet, wenn man es erlebt hat.