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