Zum Inhalt springen

sql abfrage


Noah

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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*

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...