preko
Erfahrenes Mitglied
Hallo zusammen,
ich möchte eine bedingte MySQL Abfrage generieren. Anhand des Wertes aus einer Spalte „table_name“ der 1. Abfrage soll je nach Wert eine andere Abfrage als Datenquelle generiert werden:
1. Abfrage:
Steht in der Spalte table_name jedoch der Eintrag: "news", soll folgende Abfrage ausgeführt werden:
2. Abfrage:
Bei allen anderen Einträgen in der Spalte table_name soll die unter 1. aufgeführte Abfrage durchgeführt werden, d. h. nur wenn table_name (Alias: switch) den Eintrag news enthält, wird die SELECT Abfrage mit dem JOIN generiert, ansonsten soll die 1. Abfrage als gültige Abfrage genommen werden.
Habe mir nun IF und CASE Bedingungen angeschaut, aber kriege irgendwie nicht den richtigen „Pack an“ hin., da diese in meinen Quellen nicht auf einen Wert der ersten Abfrage zugreifen, sondern auf Konstanten, die ich ja im o. g. Fall ja noch nicht habe, sondern erst mittels eines SELECTS auslesen muss.
Ich möchte das ausschließlich per MySQL lösen und nicht per PHP Scripting!
Hat jemand eine zündende Idee?
ich möchte eine bedingte MySQL Abfrage generieren. Anhand des Wertes aus einer Spalte „table_name“ der 1. Abfrage soll je nach Wert eine andere Abfrage als Datenquelle generiert werden:
1. Abfrage:
SQL:
SELECT
*,
'table_name' AS switch
FROM
publish
WHERE
uid IN (SELECT MAX(uid) FROM publish GROUP BY ident)
AND
obsolete = 0
AND
state != 0
Steht in der Spalte table_name jedoch der Eintrag: "news", soll folgende Abfrage ausgeführt werden:
2. Abfrage:
SQL:
SELECT
*
FROM
publish
LEFT JOIN
news ON publish.ident = news.uid
WHERE
publish.uid IN (SELECT MAX(uid) FROM publish GROUP BY ident)
AND
obsolete = 0
AND
state != 0
Bei allen anderen Einträgen in der Spalte table_name soll die unter 1. aufgeführte Abfrage durchgeführt werden, d. h. nur wenn table_name (Alias: switch) den Eintrag news enthält, wird die SELECT Abfrage mit dem JOIN generiert, ansonsten soll die 1. Abfrage als gültige Abfrage genommen werden.
Habe mir nun IF und CASE Bedingungen angeschaut, aber kriege irgendwie nicht den richtigen „Pack an“ hin., da diese in meinen Quellen nicht auf einen Wert der ersten Abfrage zugreifen, sondern auf Konstanten, die ich ja im o. g. Fall ja noch nicht habe, sondern erst mittels eines SELECTS auslesen muss.
Ich möchte das ausschließlich per MySQL lösen und nicht per PHP Scripting!
Hat jemand eine zündende Idee?