Hallo Leute,
Also ich habe 2 Tabellen.
die erste
tblWorkstat :
-name
-ip
die zweite:
tblTasks:
-Request
-Comflag
Also in der Spalte Request stehen namen die auch in der spalte name in tblWorkstat stehen.
nun möchte ich aus der zweiten Tabelle(tblTasks) alle Requests selektieren wo Comflag nicht NULL ist.
Also
Select Request From Tasks where Comflag is Not Null
Danach möchte ich in der Tabelle tblWorkstat alle Namen selektieren wo ich vorher im ersten Selekt selektiert habe 🙂
also:
Select Name, ip from tblaWorkstat where name = (Ergebniss aus erstem select)
ist das irgendwie möglich ?
Gruß Liberado
Hallo,
ich bin mir jetzt nicht ganz sicher, aber kann man nicht diese zwei Abfragen zusammenfassen, damit also ungefär so:
SELECT Name, ip from tblaWorkstat WHERE name IN (SELECT Request FROM Tasks WHERE Comflag IS NOT NULL)
bin mir aber nicht ganz sicher.
Das Genie beherrscht das Chaos
hallo liberado,
ja das ist möglich. ersetze das "=" in deinem Statement durch "IN" und schon funktionierts.
SELECT name, ip
FROM tblWorkstat
WHERE name IN (SELECT Request
FROM tblTasks
WHERE Comflag IS NOT NULL)
vielleicht schaust du dir trotzdem noch "WHERE zur Auswahl einzelner Zeilen aus dem SELECT Recordset" an.
-yellow
EDIT: upps, zu langsam ;o).
Selbst ein Weg von tausend Meilen beginnt mit einem Schritt (chinesisches Sprichwort).
Mein Blog: Yellow's Blog auf sqlgut.de
Moin,
Ich würd ja sagen so wäre es auch ganz nett:
Select name, id from tblworkstat, tbltasks where ((tblworkstat.name = tbltasks.request) and (tbltasks.cornflag is Not Null))
... müsste genauso gehen
MfG Niwrex
[edit] jetzt funzt schon egal ...
Beides geht, aber die erste Variante dürfte bei großen Datenmengen schneller sein, da kein JOIN gemacht wird...
Ach ja, die Klammern um die Bedingungen in der zweiten Variante sind - im Gegensatz zu den Klammern bei der ersten Variante - bei SQL nicht nötig, da AND eine sehr niedrige Priorität hat, d.h. sie sind nur eine Geschmacksfrage.
Sarkusmus ist, wenn nichts mehr hilft, außer Lachen.
@Lord Hessia: Interessant, das wusst ich nicht, ich mache immer die Klammern, weil ich gedacht habe man müsse sie setzten. Naja jetzt dienen sie halt nur noch der Übersichtlichkeit 😁
Das Genie beherrscht das Chaos
ich hab den Abfragegenerator von Visual studio jetzt benutzt und der hat mir auch die klammern hinzugefügt!
@liberado: Dem Editor ist es ja auch egal, wieviel er "schreiben" muss, der hat ja vermutlich auch ein SELECT tblWorkstat.name, tblWorkstat.ID usw. erzeugt.
@ICH_BIN_LETZTER: Bei Deinem Statement mit dem IN musst Du sie auch setzen, nur in dem anderen, wo mehreren Bedingungen mit AND verknüpft waren, da ist es nicht nötig. Das ist genauso wie bei C#, da muss man mehrere &&-verknüpfte Bedingungen in einem if ja auch nicht einzeln in Klammern setzen.
Sarkusmus ist, wenn nichts mehr hilft, außer Lachen.