Avatar billede fredand Forsker
28. marts 2003 - 15:34 Der er 2 kommentarer og
4 løsninger

How to change a value in the answer?

Hello!
I got a database that looks like this in Oracle:
http://www.it-gymnasiet.info/programmering_c/databasebattle.jpg

I have to execute this question:

SELECT solider.solider_id, special_weapon.other
    FROM solider, special_weapon
    WHERE
        special_weapon.solider_id = solider.solider_id

But when the special_weapon.other is null I have to replace that in the answer-column to "No data".

Does any one know how to do that?

Best regards
Fredrik
Avatar billede hsg Nybegynder
28. marts 2003 - 16:57 #1
Et forsøg:

SELECT solider.solider_id, special_weapon.other
    FROM solider, special_weapon
    WHERE
        special_weapon.solider_id = solider.solider_id
    and special_weapon.other IS NOT NULL
union
SELECT solider.solider_id, 'No data'
    FROM solider, special_weapon
    WHERE
        special_weapon.solider_id = solider.solider_id
    and special_weapon.other IS NULL
Avatar billede Slettet bruger
29. marts 2003 - 12:23 #2
Try this:
SELECT solider.solider_id, nvl(special_weapon.other,'No data')
    FROM solider, special_weapon
    WHERE
        special_weapon.solider_id = solider.solider_id

/Peter
Avatar billede olet Nybegynder
04. april 2003 - 12:46 #3
Den korrekte Oracle løsning ser sådan ud:

SELECT solider.solider_id, NVL(special_weapon.other, 'No data') as other
    FROM solider, special_weapon
    WHERE
        special_weapon.solider_id = solider.solider_id

Iøvrigt staves solider sådan: soldier.
Avatar billede pnielsen Nybegynder
07. april 2003 - 14:53 #4
umiddelbart kan alle 3 løsninger da bruges,
men NVL er nok den mest elegante ;-)
Avatar billede coily Nybegynder
22. april 2003 - 13:32 #5
And at last the right statement, This one will return data even if there is no rows in the special_weapon table.

SELECT
    solider.solider_id                  solider_id,
    nvl(special_weapon.other,'No data')  other
FROM  solider,
      special_weapon
WHERE
      special_weapon.solider_id (+) = solider.solider_id;
Avatar billede fredand Forsker
25. april 2003 - 14:17 #6
Thanks for your help guys!
Best regards Fredrik
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