Mailinglisten-Archive |
Guten Tag allerseits, ich habe eine einfache Tabelle: a: INT * b: INT * * Primärindex über beide Spalten Jedes Zahlenpaar gibt es also höchstens einmal. Nun möchte ich alle a ermitteln, für die gilt: 1. Teilaufgabe: Zu jedem Wert x der Positivliste gibt es einen Datensatz (a,x). Hierzu verwende ich folgende Abfrage: SELECT a, COUNT(b) AS b_count FROM tabelle WHERE (b IN (1,5,12)) GROUP BY a HAVING (b_count = 3) 2. Teilaufgabe: Es gibt keinen Datensatz (a,b), bei dem b in der Negativliste enthalten ist. Dazu verwende ich gerade diese Abfrage: SELECT a, COUNT(b) AS b_count FROM tabelle WHERE (b IN (7,8,13)) GROUP BY ressource HAVING (b_count > 0) ... und entferne dann die hier gefundenen a aus dem obigen Ergebnis. Gibt es eine Möglichkeit, die beiden Teilaufgaben in einer einzigen Abfrage erledigen zu lassen? Die Positiv- und Negativliste enthalten unterschiedliche Werte; es gibt keinen Zahlenwert, der in beiden Listen vorkommt. Schon mal Danke im Voraus, Andreas Vogel Die tauschhandelsfreie Gesellschaft http://a-v-o.bei.t-online.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive