habe eine Tabelle tblSteuerNummern mit folgenden Feldern:
PK, fK_Kunde, SteuerNr, SteuerArt
darin sind für diverse Kunden Steuernummern hinterlegt.
Steuerart 0 = Ust-Nr, 1 = Ust-Ident-Nr
ich brauche eine Abfrage die mir für alle Kunden genau
einen Satz zurückgibt und zwar:
wenn SteuerArt 1 vorhanden, dann diesen, sonst halt
SteuerArt 0.
Bsp:
1, 1, 'DE123456789', 1
2, 1, '7772/82882/', 0
3, 2, 'DE726266262', 1
4, 3, '8922/73994/888', 0
soll die Sätze 1, 3, 4 liefern
kann mir da jemand auf die Sprünge helfen?
Vielen Dank
Jürgen
Hallo Jürgen,
das geht mit (not) exists.
Set Nocount on
create table #t(PK int, fK_Kunde int, SteuerNr varchar(20), SteuerArt int)
go
insert into #t(PK, fK_Kunde, SteuerNr, SteuerArt) values (1, 1,
'DE123456789', 1)
insert into #t(PK, fK_Kunde, SteuerNr, SteuerArt) values (2, 1,
'7772/82882/', 0)
insert into #t(PK, fK_Kunde, SteuerNr, SteuerArt) values (3, 2,
'DE726266262', 1)
insert into #t(PK, fK_Kunde, SteuerNr, SteuerArt) values (4, 3,
'8922/73994/888', 0)
select * from #t
go
select *
from #t t
where steuerart = 1
or (steuerart = 0 and not exists (select pk from #t t2 where t2.steuerart =
1 and t2.fk_Kunde = t.fk_Kunde))
drop table #t
Einen schönen Tag noch,
Christoph
--
(Please post ALL replies to the newsgroup only unless indicated otherwise)
danke - funzt supi!
Gruß Jürgen