Hallo,
wie kann ich in einer Interbase 6 o. Firebird 1 DB über eine IBQuery per SQL zwei Tabellen auf das Vorkommen eines Kriteriums abfragen, wobei die Feldnamen der beiden Tabellen, die das Kriterium enthalten, unterschiedlich sind.
Hintergrund:
Ich habe eine Datenbank, in der zwei Tabellen enthalten sind, nennen wir sie A und B, welche in jeweils unterschiedlichen Feldnamen, nennen wir sie A.SN und B.PIDSN, übereinstimmende Inhalte haben können.
In A und B können jeweils mehrere Datensätze enthalten sein, auf die diese Bedingung (Feldinhalt = Kriterium) zutrifft.
Ich möchte nun wissen, welche Datensätze in A und B enthalten sind, die in A.SN und B.PIDSN den gleichen Inhalt haben, ohne das der Effekt zuschlägt, dass bei Auffinden des Kriteriums in einem Datensatz von B automatisch als Ergebnis dieser Datensatz aus B mit jedem von A ausgegeben wird (obwohl in A keine Übereinstimmung da ist).
Bei diesem SQL-Skript geschieht das leider so:
select A.INDEX, B.INDEX from A, B
where A.SN = 'A56788-4004' or B.PIDSN = 'A56788-4004'
Gruss,
H. Hoffman
wie kann ich in einer Interbase 6 o. Firebird 1 DB über eine IBQuery per SQL zwei Tabellen auf das Vorkommen eines Kriteriums abfragen, wobei die Feldnamen der beiden Tabellen, die das Kriterium enthalten, unterschiedlich sind.
Hintergrund:
Ich habe eine Datenbank, in der zwei Tabellen enthalten sind, nennen wir sie A und B, welche in jeweils unterschiedlichen Feldnamen, nennen wir sie A.SN und B.PIDSN, übereinstimmende Inhalte haben können.
In A und B können jeweils mehrere Datensätze enthalten sein, auf die diese Bedingung (Feldinhalt = Kriterium) zutrifft.
Ich möchte nun wissen, welche Datensätze in A und B enthalten sind, die in A.SN und B.PIDSN den gleichen Inhalt haben, ohne das der Effekt zuschlägt, dass bei Auffinden des Kriteriums in einem Datensatz von B automatisch als Ergebnis dieser Datensatz aus B mit jedem von A ausgegeben wird (obwohl in A keine Übereinstimmung da ist).
Bei diesem SQL-Skript geschieht das leider so:
select A.INDEX, B.INDEX from A, B
where A.SN = 'A56788-4004' or B.PIDSN = 'A56788-4004'
Gruss,
H. Hoffman
Comment