Avatar billede ihtezaz Praktikant
03. februar 2010 - 10:25 Der er 8 kommentarer og
1 løsning

Update hvis kundens samtlige items er sat ud af kraft

Hej,

I min tabel "pr" har jeg en kolonne kaldet "kundenummer", en kolonne kaldet "itemid" og en kolonne kaldet "cancelcode".

kolonne cancelcode står til 0 eller 98 hvis item er aktiv og andet hvis ikke den er aktiv.

Kolonne cancelcode vil jeg gerne update med en "*" markering hvis alle kundens itemsid's er forskellige fra 0 eller 98.

Bemærk en kundenummer kan have flere itemid's.
Hvordan løser jeg det lige med SQL.
På forhånd tak.
Avatar billede j3ppah Novice
03. februar 2010 - 10:32 #1
SELECT *
FROM db.cancelcode
WHERE (db.cancelcode != 0 OR != 98)

Er ikke sikker på jeg har forstået dit spørgsmål korrekt.
Avatar billede ihtezaz Praktikant
03. februar 2010 - 10:34 #2
Det har jeg også forsøgt med :). Problemmet med det er, at så vil den marker kunden med * også når vedkommende kun har en item der er forskellige fra 0 eller 98 og resten af vedkommendes items er 0 eller 98 (dvs. aktive)
Avatar billede ihtezaz Praktikant
03. februar 2010 - 10:36 #3
Dvs. man skal løbe alle kundens items igennem og hvis alle er forskellige fra 0 eller 98, så skal man marker alle hans items markeres med *
Avatar billede hrc Mester
03. februar 2010 - 10:48 #4
Er der cancelcode eller itemid der indeholder 0 og 98?

Har prøvet at brygge noget samme her. Kan det mon bruges? Antager at hvis man siger kundenumrene skal være forskellige fra de der netop har 0 og 98, så kan opgaven være løst

update pr set cancelcode = '*'
where kundenummer not in ( select distinct kundenummer
                          from pr
                          where (itemid in ('0','98')) )
Avatar billede ihtezaz Praktikant
03. februar 2010 - 10:50 #5
Det er itemid der indeholder 0 og 98
Avatar billede ihtezaz Praktikant
03. februar 2010 - 10:51 #6
sorry, jeg mente det er cancelcode der indeholder 0 og 98
Avatar billede hrc Mester
03. februar 2010 - 13:27 #7
Altså noget i denne retning?
update pr set cancelcode = '*'
where kundenummer not in ( select distinct kundenummer
                          from pr
                          where (cancelcode in ('0','98')) )
Avatar billede ihtezaz Praktikant
06. februar 2010 - 15:05 #8
tak det virkede perfekt. Send et svar.
Avatar billede hrc Mester
07. februar 2010 - 21:47 #9
Et svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester