Hallo und Danke für Deine Antwort.
> Zum einen verstehe ich nicht ganz was genau du erreichen willst; eine
> textliche Beschreibung wäre da hilfreich (vollst. Minimalbeispiel).
>
Ich suche die korrekte MySQL-Syntax um ein WENN-DANN-SONST Konstrukt zu bilden,
welches in den Fällen DANN und SONST unterschiedliche SELECTs mit mehrspaltigem
Ergebnis fahren kann.
Ich habe Folgendes hier im postfix funktionieren, das Ergebnis ist immer
einspaltig:
query = SELECT IF ((SELECT COUNT(*) FROM mail_virtual WHERE email = '%s') > 0,
(SELECT policy_greylist FROM mail_virtual WHERE email = '%s' LIMIT 1), (SELECT
IF ((SELECT COUNT(*) FROM mail_virtual WHERE iscatchall = 1 AND email LIKE
CONCAT('%%@','%d')) > 0, (SELECT policy_greylist FROM mail_virtual WHERE
iscatchall = 1 AND email LIKE CONCAT('%%@','%d') LIMIT 1), 'policy_greylist')))
Ich brauche das auch für Amavis, dort interessieren mich aber mehrere Spalten
im Resultat.
> Habe ich nie mit IF oder CASE WHEN genutzt, aber die Syntax sieht bei
> Beispielen dann doch anders aus:
>
> http://stackoverflow.com/questions/5951157/if-in-select-statement-
> choose-output-value-based-on-column-values
>
Ich bin inzwischen ziemlich sicher, dass die Ergebnisse eines IF nur einspaltig
sein dürfen.
Ich glaube aber auch, dass MySQL mächtig genug sein sollte, meinen Wunsch
umsetzbar zu machen - nur fehlt mir die Idee wie.
Mit freundlichen Grüßen / Kind regards
Ronny Seffner
--
Ronny Seffner | Alter Viehweg 1 | 01665 Klipphausen
www.seffner.de | [email protected] | +49 35245 72950
7EA62E22D9CC4F0B74DCBCEA864623A568694DB8