Hejsan. Jag har ett problem. Tror inte det går utan att lista alla kolumnerna... Men varför har du skapat en kolumn för varje dag? Mycket smidigare att ha en datum kolumn och en "sjuk-kolumn". Exemplet ovan var bara ett exempel. Jag undersöker problemet åt en kompis och vet inte riktigt vad för sorts data han egentligen har. Han tog datum som ett exempel för mig. Hej! Generellt sett tyder en sådan struktur på något fel i designen. Exemplet du ger löses t ex mycket bättre på annat vis. Men för att svara på frågan, så är svaret i princip nej. Det går inte att lösa utan en massa OR i SQL-strängen, vilket förstås är naturligt eftersom det är ju det du frågar efter. Jämför om du t ex har 30 variabler i ett program där du ska kolla om någon av dem har värde X. Hur skulle du göra det? I vissa databashanterare kan du iofs skriva annorlunda, men det resulterar i slutändan ändå i en massa or-villkor som testas i exekveringen av frågan. I SQL Server kan du t ex skriva: Observera att jag inte säger att man ska göra så, bara att man kan.Kolla flera kolumner i en sql-sats lite mer dynamsikt...
Vi kan säga att jag har en tabell manad (månad) som innehåller kolumnerna dag1, dag2, dag3 osv... och för enkelhets skulle säger vi att de är av typen BOOL.
Jag vill nu göra en sökning på samtliga dagar för att kolla om någon av dessa är true. (Vi skulle med exempel vilja kolla om någon varit sjuk (TRUE) någon av dagarna denna månad.)
Går detta att lösa utan en massa OR i sql-strängen?? Tacksam för svar. Om det bara går i vissa databaser, skulle jag vilja veta i vilka det går och vilka det inte går i också.Sv: Kolla flera kolumner i en sql-sats lite mer dynamsikt...
/JohanSv:Kolla flera kolumner i en sql-sats lite mer dynamsikt...
Sv: Kolla flera kolumner i en sql-sats lite mer dynamsikt...
Om kolumnerna tillåter NULL kan man använda sig av COALESCE ( expression [ ,...n ] ).
Om alla kolumnerna innehåller NULL returneras NULL annars det första värdet som inte är NULL.
Sv: Kolla flera kolumner i en sql-sats lite mer dynamsikt...
<code>
WHERE @value IN (col1, col2, col3, col4, col5)
</code>
Men du måste ju fortfarande räkna upp alla kolumnerna, bara att du slipper skriva alla OR-villkoren.Sv:Kolla flera kolumner i en sql-sats lite mer dynamsikt...