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  |  ro...@seffner.de  |  +49 35245 72950
7EA62E22D9CC4F0B74DCBCEA864623A568694DB8


Antwort per Email an