Jag har en liten sql fråga. Hur har du strukturerat din db??? så här kanske? Bör det inte vara så enkelt som: (?) Hej, Om inte IsNull eller Coalesce funkar kan du använda Case.Sql fråga
jag har en tabell som heter Film i den finns ID,dvdID,vhsID
Raden har alltid ett ID och sen antingen ett dvdID eller ett vhsID.
Kan man på något sätt få ut detta i en datagrid så att det ser ut så här
ID Nummer
0 1
1 5
Nummer ska här vara antingen ett dvdID eller ett vhsID. Men jag vill ha det under samma Kolumn.
skriver jag "select * from Film" så får jag ju de i tre kolumner.Sv: Sql fråga
tblFilm
--------
ID
vhsID
dvdID
titel
...
eller? Om du nu har ett id, varför behöver du ett vhsID/dvdID? Varför inte bara ha en boolean som sätts till true/false (v/d) beroende på vad det är för en filmtyp. Du får dem i samma kolumn och slipper problemet.
Att designa en db för att innehålla tomma "celler" är aldrig bra, det är något man ska undvika in i det sista. (mer info på www.databases.about.com)
/EmmaSv: Sql fråga
select ID, coalesce(dvdID,vhsID) as Nummer from film
om nu tabellen ser ut som i inlägget ovan och om det fält som är tomt(av vhsid och dvdid alltså) = nullSv: Sql fråga
<code>
SELECT ID, dvdID || vhsID FROM Film
</code>Sv: Sql fråga
kan inte sql-server syntaxen, men tror att det heter isNull() ???
I Oracle skulle jag nog skrivit:
SELECT ID, NVL(dvdID, vhsID) as id FROM Film
/UffeSv: Sql fråga
<CODE>
SELECT ID, CASE WHEN vhsID > 0 THEN vhsID ELSE dvdID END id FROM Film
</CODE>
/Pelle