/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MS SQL 2k: query
Fra : Jesper Stocholm


Dato : 30-11-01 18:14

Jeg har en tabel med nogle data i - fx:

AppName | FileExt |
-------------------
MS Word doc
MS Excel xls
IE doc html
IE doc htm
Paint gif
Paint jpg
Paint jpeg
....
....
None NULL

Jeg vil nu gerne konstruere en query, der løber tabellen igennem og henter
en række ud, hvis der er et match, som fx denne:

SELECT * AppName,FileExt FROM Table1 WHERE FileExt = 'doc';

Min query giver mig altså max en enkelt række - men den kan også - og det er
problemet - give mig 0 rækker ... hvilket jeg gerne vil undgå. Jeg vil gerne
have, at den altid giver mig en række tilbage, dvs hvis der ikke er et
match, så giver den mig rækken med (None,NULL)-tuplen i stedet.

Kan det lade sig gøre ... og i givet fald: Hvordan ?

--
Jesper Stocholm - http://stocholm.dk

Gad vide hvor lang tid der går, inden danskerne
finder ud af, at de har købt katten i sækken til valget ...

 
 
Peter Lykkegaard (30-11-2001)
Kommentar
Fra : Peter Lykkegaard


Dato : 30-11-01 19:34


"Jesper Stocholm" <spam200111@stocholm.dk> wrote in message
news:Xns9169B95B3955Bspamstocholmdk@192.38.208.81...
> Jeg har en tabel med nogle data i - fx:
>
> AppName | FileExt |
> -------------------
> MS Word doc
> MS Excel xls
> IE doc html
> IE doc htm
> Paint gif
> Paint jpg
> Paint jpeg
> ...
> ...
> None NULL
>
> Jeg vil nu gerne konstruere en query, der løber tabellen igennem og henter
> en række ud, hvis der er et match, som fx denne:
>
> SELECT * AppName,FileExt FROM Table1 WHERE FileExt = 'doc';
>
> Min query giver mig altså max en enkelt række - men den kan også - og det
er
> problemet - give mig 0 rækker ... hvilket jeg gerne vil undgå. Jeg vil
gerne
> have, at den altid giver mig en række tilbage, dvs hvis der ikke er et
> match, så giver den mig rækken med (None,NULL)-tuplen i stedet.
>
> Kan det lade sig gøre ... og i givet fald: Hvordan ?
>
T-SQL er din ven

declare @ext varchar(3)
set @ext = 'doc'

if exists (select FileExt from Table1 where FileExt = @ext )
begin
select AppName, FileExt from Table1 where FileExt = @ext
end
else
begin
select AppName, FileExt from Table1 where FileExt is null
end


mvh/Peter Lykkegaard



Søg
Reklame
Statistik
Spørgsmål : 177517
Tips : 31968
Nyheder : 719565
Indlæg : 6408636
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste