SELECT DISTINCT IDLand, Land FROM qryfUC1LandProd WHERE NOT EXISTS (SELECT * FROM ztblProduktVerkauftInLand Where FKProdukt=txtIDProdukt AND FKLand=IDLand);
und
SELECT DISTINCT IDLand, Land FROM qryfUC1LandProd WHERE
FKRegion=cboRegion;
Beide Anweisungen einzeln funktionieren.
Ich bräuchte aber beide in einer Anweisung.
Hallo Franz, leider kann ich dir spontan nicht helfen, da bin ich leider überfragt.
Conny
Hallo
ich habe folgende Sql Anweisungen:
SELECT DISTINCT IDLand, Land FROM qryfUC1LandProd WHERE NOT
EXISTS (SELECT * FROM ztblProduktVerkauftInLand Where
FKProdukt=txtIDProdukt AND FKLand=IDLand);
und
SELECT DISTINCT IDLand, Land FROM qryfUC1LandProd WHERE
FKRegion=cboRegion;
Beide Anweisungen einzeln funktionieren.
Ich bräuchte aber beide in einer Anweisung.
Hallo Franz,
ohne die Datenbank näher zu kennen, würde ich raten, es mal mit UNION zu versuchen.
Dabei ist es wichtig, daß die Anzahl der selektierten Spalten in Statement 1 und 2 gleich ist, also:
SELECT DISTINCT
IDLand
,Land
FROM
qryfUC1LandProd
WHERE NOT
EXISTS (SELECT * FROM ztblProduktVerkauftInLand Where
FKProdukt=txtIDProdukt AND FKLand=IDLand)
UNION
SELECT DISTINCT
IDLand
, Land
FROM
qryfUC1LandProd
WHERE
FKRegion=cboRegion
Hallo Franz,
wenn ich das richtig Verstehe wird mit dem ersten SELECT schon eine Vorauswahl getroffen. Dann soll nochmals die Datenbank abgefragt werden, jedoch mit anderen Kriterien? Oder soll aus dem Ergebniss der ersten Abfrage erst die zweite geschalten werden? Oder soll aus dem Ergebnis der ersten Abfrage eine Teilmenge mit der zweiten Abfrage erstellt werden?
Hallo Franz,
danke, dass Du mich als „Experten“ angeschrieben hast. Aber leider ist mein SQL-Wissen nicht so ausgereift, als dass ich Dir da helfen könnte. Ich bin selbst nur „Bastler“ und helfe mir oft mit Copy and Paste
Hoffe, es wird jemand anderes behilflich sein…
Gruß
Daniela
Sorry für die späte Antwort.
Also wenn ich es richtig verstanden habe, haben beide Abfragen die gleichen Spalten. Du möchtest die Ergebnis-Menge beider Abfragen.
In diesem Falle könntest du die eine Abfrage zb qry1 nennen die zweite Abfrage qry2 und dann:
select * from qry1 union
select * from qry2
Damit erzielst du genau was du brauchst. Das erscheint
mir auch in dem speziellen Fall keine schlechte Lösung.
Schaue dir den Join befehl nochmal an !
Bei der 2ten Anweisung handelt es sich um einen inner join
Bei Distinct handelt es sich auch um einen Inner join
Be FKProdukt=txtIDPRodukt um einen Inner JOin
bei (FKProdukt=txtIDPRodukt) [und FKLAND=IDLAND handelt es sicProducth um einen LEFT oder Right Join]gegen(verschachteltes Select Statement(zweite Anweisung))
Ich habe kein SQL zum validieren installiert also probiere ich nur
SELECT DISTINCT IDLand,Land FROM qryfUC1 LandProd WHERE NOT EXISTS (SELECTS * FROM FKProduct=txtIDProdukt on ProduktFKProdukt RIGHT JOIN ( !SELECTt * FROM FKProduct = txtIDProdukt on ProduktFKProdukt IDLand on FKLAND Join
Fehler ! Da reicht die Macht von Joins und verschachtelten Select -Statement nicht aus. Beim ! muss ne 2te Klammer hin und das geht nicht.
Da hab ich ca ne 3/4 Stunde für gebraucht also bitte ein thx