Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

hallo,

ich habe zwei tabellen. tabelle A enthält IDs mit daten, tabelle B eine referenz von IDs aus der tabelle A. wie bekomme ich die übrigen IDs raus, die in tablle A vorhanden, aber nicht in tabelle B eingetragen sind?

mit:

select a.id from tabelle a, tabelle b where a.id <> b.id bekomm ich ja a * b datensätze. wer weiß rat? :)

noah

Geschrieben

SELECT p.pers_id

from tblAuditor a, tblpersonen p

LEFT JOIN tblpersonen

ON (SELECT pers_id FROM tblAuditor) = p.pers_id

WHERE (SELECT pers_id FROM tblAuditor) IS NULL

....

klappt nicht. Es kommt die Fehlermeldung

Die Unterabfrage gab mehr als einen Wert zurück. Das ist ungültig, wenn die Unterabfrage auf =, !=, <, <= , >, >= folgt oder als Ausdruck verwendet wird.

Und das selbst wenn ich ein SELECT TOP 1 mache.

Was ich will:

Alle Pers_ ID's (und auch andere werte aber ich will nicht die ganze View posten) die NICHT in tblauditor vorhanden sind. was mache ich also falsch? *nicht ganz evrsteh*

Geschrieben

Du mischt ja auch die beiden Ansaetze von Enrico T. und mir.

Also nochtmal mein Ansatz:

SELECT pers_id

FROM tblpersonen

WHERE pers_id NOT IN (SELECT pers_id

                                      FROM tblAuditor);

Aber ... mwarlich = Noah :confused:

Geschrieben

Nein nein ich bin nicht Noah, aber das Problem erschien mir sehr ähnlich und ich wollte keinen neune Thread aufmachen :)

Das mit dem NOT IN funktionuckelt ja auch.. so habe ich es bisher. Allerdings dauert de Abfrage dann 24 sekunden, was entschieden zu langsam ist. Daher hatte ich mir gedacht mit einem Join geht es schneller. Daher würde ich es gerne mit dem JOIN machen.

Kannsu mir da helfen?

Geschrieben
Original geschrieben von mwarlich

Das mit dem NOT IN funktionuckelt ja auch.. so habe ich es bisher. Allerdings dauert de Abfrage dann 24 sekunden, was entschieden zu langsam ist. Daher hatte ich mir gedacht mit einem Join geht es schneller. Daher würde ich es gerne mit dem JOIN machen.

Zum Thema Geschwindigkeit.

Ich arbeite derzeit an relativ unfangreichen Abfragen (vgl. Thread) und habe nun einen LEFT JOIN durch ein Subselect ersetzt ... und siehe da, er liefert nicht nur das richtig Ergebnis (;)), sondern ist auch um einiges schneller.

Daher wird deine Abfrage imho nicht schneller, wenn du mit einem JOIN arbeitest ;)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...