ich eine Tabelle (mit mehreren Zeilen), dass, um die Dinge zu vereinfachen, lassen Sie uns wie folgt betrachten:Auswahl nach Wertepaar
Table: data
+---+--------+-------+-----+---------+
|id | name |objId |src | type |
+---+--------+-------+-----+---------+
In dieser Tabelle ther mehrere Einträge für die gleiche name
sein kann Allerdings sollte nur einer den Typ descriptor
haben. Der Typ mit dem Typ descriptor
gibt die Standardquelle in der Spalte src
an.
Ich möchte eine Abfrage wo, wenn ich weiß, die Standard-src für jeden Namen, um die Einträge aus der data
Tabelle, die diese src haben.
Eine Lösung wäre so etwas wie diese: SELECT * FROM data WHERE (objId=<id1> AND type=<dflt1>) OR (objId=<id2> AND type=<dflt2>) OR ... OR (objId=<idN> AND type=<dfltN>) AND type<>descriptor
aber ich würde gerne wissen, ob es ein einfacherer ist (schneller) Weg, dies zu tun.
example:
+---+--------+-------+-----+----------+
|id | name |objId |src | type |
+---+--------+-------+-----+----------+
|1 | file1 | 1 | srv |descriptor|
+---+--------+-------+-----+----------+
|2 | file 1 | 1 | srv |data |
+---+--------+-------+-----+----------+
|3 | file 1 | 1 | srv |data |
+---+--------+-------+-----+----------+
|4 | file 1 | 1 | lcl |data |
+---+--------+-------+-----+----------+
|5 | file 2 | 2 | lcl |descriptor|
+---+--------+-------+-----+----------+
|6 | file 2 | 2 | srv |data |
+---+--------+-------+-----+----------+
|7 | file 2 | 2 | lcl |data |
+---+--------+-------+-----+----------+
Query should return entries with IDs: 2, 3, 7
Danke.