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

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