Unterabfrage?
dobra
- datenbank
0 dobra
Hallo,
ein Problem:
ich habe in Tabelle 1 (csv) Artikelnummern in der Form
aaa
bbb-25
ccc-10
ccc-20
ccc-30
ddd
eee-10
...
und in Tabelle 2 (ITEM)
aaa
bbb-25
ccc
ddd
eee-10
...
meine Abfrage
SELECT csv.*,
... ein paar andere IFF-Bedingungen...
IIf(InStr(csv.ArtNr,"-")<>0,Left(csv.ArtNr,InStr(csv.ArtNr,"-")-1)) AS vari
FROM csv;
gibt mir bei ALLEN Artikeln die ein "-" in derArtikelnr. haben, diese Nr. ohne "-" und was danach steht in Feld "vari" aus.
also:
aaa |
bbb-25 | bbb
ccc-10 | ccc
ccc-20 | ccc
ccc-30 | ccc
ddd |
eee-10 | eee
...
Das Problem ist jetzt, daß der Eintrag in diesem "vari" Feld aber NUR DANN erfolgen darf, wenn diese Zahl auch als Artikelnummer in Tabelle 2 vorhanden ist.
also SO:
aaa |
bbb |
ccc-10 | ccc
ccc-20 | ccc
ccc-30 | ccc
ddd |
eee-10 |
...
ich habe es so probiert:
SELECT csv.*,
... ein paar andere IFF-Bedingungen...
IIf(InStr(csv.ArtNr,"-")<>0 AND Left(csv.ArtNr,InStr(csv.ArtNr,"-")-1)=ITEM.ITEMID, Left(csv.ArtNr,InStr(csv.ArtNr,"-")-1)) AS vari
FROM csv, SCH_ITEM;
jetzt wird zwar nichts in das "vari" Feld geschrieben, wenn es keine entsprechnede Artnr. in der ITEM Tabelle gibt, aber die Artikel die einen Eintrag in "vari" haben sollen werden überhaupt nicht mehr angezeigt :(
ich bekomme
aaa |
bbb-25 |
ddd |
eee-10 |
ich vermute mal, daß ich da sowas wie eine Unterabfrage brauche?
komme aber nicht dahinter WIE ich das schreiben müßte....
Kann mir bitte, bitte jemand (für Newbis verständlich) helfen?
P.S.: beide Tabellen sind als verknüpfte Tabellen eingebunden
Vieln Dank im Voraus
dobra
Hallo nochmal,
nach viiiiiielen Fehlversuchen hab ich's doch alleine geschafft :D
weiß zwar nicht, ob das korrekt geschrieben ist, aber so geht's:
IIf(InStr(csv.ArtNr,"-")<>0 AND IsNull(ITEM.ITEMID),Left(csv.ArtNr,InStr(csv.ArtNr,"-")-1)) AS vari
FROM csv LEFT JOIN ITEM ON ITEM.ITEMID=csv.ArtNr;