Mailinglisten-Archive |
Joerg Holz wrote: > morgen, > > zum erstenmal versuche ich CASE zu benutzen, es klappt aber nicht. > > SELECT * > FROM tblContainerForm > WHERE ProjektID = '1' > AND Sportart = 'Fussball' > AND (CASE WHEN Liga IS NOT NULL THEN Liga = '1. BL' > ELSE Typ = 'Gesamttabelle' END) > > die WHERE-bedingung soll Liga benutzen, wenn in Liga etwas eingetragen > ist, ansonsten soll WHERE Typ = 'Gesamttabelle' nehmen. > > was mache ich verkehrt? > > joerg > Hallo Joerg, SELECT id, IF(Liga IS NULL 'keine Liga',Liga) as Liga [,...] FROM tblContainerForm WHERE ProjektID = '1' AND Sportart = 'Fussball' CASE bzw. IF darf nur im Select - Statement stehen. Bei ner Where Clausel machts ja auch keinen Sinn, das ist die Suchbedingung und SQL kann ja erst dann entscheiden wenn es was gefunden hat... ;-)) Eine Where - Bedingung in einer Entscheidungsclausel kann nicht laufen. Das liegt daran, dass ja in den Variablen irgendetwas drinstehen muss um zu entscheiden und das ist vor der Suchbedingung nicht der Fall... MFG Wolfgang -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive