Ich verwende die Informix-Datenbank, wo ich 2 Tabellen artind und coord, die anderen mit einer Beziehung, key_code und cm_key_coord_codeSQL: Was ist der beste Weg, Zeilen aus einer Tabelle auszuwählen, die nicht in einer anderen Tabelle nur mit einer bestimmten ID existieren?
Tisch artind
+-----------+-------------+
| Field | Type |
+-----------+-------------+
| key_code | char(8) |
| descr | char(30) |
+-----------+-------------+
Tisch koordinieren
der Regel alle Datensätze in der Tabelle artind auszuwählen, die nicht einen Datensatz mit gleichen Code (key_code gleich cm_key_coord_code) und cm_t_coor = 2 in Tabelle coord habe ich verwenden:
select * from artind where
key_code not in (select cm_key_coord_code from coord
where cm_t_coor = 2);
Es gibt eine bessere Weg?
In Tabelle coord habe ich mehrere Datensatz mit gleichen cm_key_coord_code, aber verschiedene cm_t_coor. Wie kann ich cm_key_coord_code auswählen, die nur Zeilen mit cm_t_coor! = 2 haben? – famedoro
@famedoro. . . Das ist subtil anders als die Frage, die du gestellt hast. Ich würde vorschlagen, dass Sie eine andere Frage mit Beispieldaten und gewünschten Ergebnissen stellen. –
Bitte schauen Sie sich http://stackoverflow.com/questions/40640610/sql-how-can-i-select-only-one-record-which-non-present-an-id an – famedoro