Eine Datenbankfrage.
Ich habe ein Ticketsystem (eTicket Help Desk Software PHP), das eine Haupttabelle "tickets" hat und, jeweils über das Feld "ticket" verknüpft, zwei Untertablelen "ticket_answers" und "ticket_messages".
Es gibt eine Suchfunktion, in der gleichzeitig alle Ticketfelder und die Felder "message" der Untertabellen nach dem gewünschten Suchbegriff durchsucht. Das wird mit zwei LEFT JOINs realisiert.
Ich möchte nun, daß zusätzlich zu den zwei Untertabellen noch eine dritte, "ticket_privmsg" für private Nachrichten, durchsucht wird. Ich blicke aber nicht, wie ich die Anweisung erweitern muß, weil sich mir das Grundprinzip dieser Verkettung nicht erschließt. Wenn jemand Lust hat, sich das anzuschauen und mir einen Tipp zu geben, bin ich dankbar.
Ich habe ein Ticketsystem (eTicket Help Desk Software PHP), das eine Haupttabelle "tickets" hat und, jeweils über das Feld "ticket" verknüpft, zwei Untertablelen "ticket_answers" und "ticket_messages".
Es gibt eine Suchfunktion, in der gleichzeitig alle Ticketfelder und die Felder "message" der Untertabellen nach dem gewünschten Suchbegriff durchsucht. Das wird mit zwei LEFT JOINs realisiert.
Ich möchte nun, daß zusätzlich zu den zwei Untertabellen noch eine dritte, "ticket_privmsg" für private Nachrichten, durchsucht wird. Ich blicke aber nicht, wie ich die Anweisung erweitern muß, weil sich mir das Grundprinzip dieser Verkettung nicht erschließt. Wenn jemand Lust hat, sich das anzuschauen und mir einen Tipp zu geben, bin ich dankbar.
Code:
SELECT DISTINCT tickets.ID AS ID, tickets.status, tickets.timestamp as timestamp, tickets.cat AS cat, tickets.subject AS subject, tickets.rep AS rep, tickets.email AS email, priority, tickets.name AS name FROM (( tickets LEFT JOIN ticket_messages ON ticket_messages.ticket = tickets.ID ) LEFT JOIN ticket_answers ON ticket_answers.reference = ticket_messages.ID ) WHERE ( ticket_messages.message LIKE '%Suchbegriff%' OR ticket_privmsg.message LIKE '%Suchbegriff%' OR ticket_answers.message LIKE '%Suchbegriff%' OR tickets.subject LIKE '%Suchbegriff%' OR tickets.phone LIKE '%Suchbegriff%' OR tickets.ip LIKE '%Suchbegriff%' OR tickets.name LIKE '%Suchbegriff%' )
Kommentar