|
| [MSSQL] Find resultat uanset om der er en ~ Fra : Burns |
Dato : 30-04-04 12:00 |
|
Jeg har en WHERE hvor jeg gerne vil have et output selv om en given række
ikke findes.
Jeg har følgende (teoretiske) tabeller:
A:
no, idx, field
1, 3, "mig"
2, 5, "mig"
B:
no, idx, field
1, 2, "car"
2, 5, "dette er en test"
SELECT A.no, A.field, B.no, B.field FROM A, B WHERE A.field = "mig" AND
A.idx = B.idx
Dette returnere ingenting, da A.idx.3=B.idx.3 ikke findes. Men jeg vil
stadigt gerne returnere følgende:
[null], 45, [null], [null]
2, 45, 2, "dette er en test"
Dvs. at hvis værdien ikke findes, skal den blot returnere 0 eller NULL. Lidt
a'la følgende phseudo kode:
SELECT A.no, A.field, B.no, B.field FROM A, B WHERE A.field = "mig"
(AND-EVEN-IF-NOTEXIST A.idx = B.idx)
Kan man det?
| |
Jens Gyldenkærne Cla~ (30-04-2004)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 30-04-04 12:43 |
|
Burns skrev:
> SELECT A.no, A.field, B.no, B.field FROM A, B WHERE A.field =
> "mig" AND A.idx = B.idx
Kig på LEFT JOIN:
SELECT A.no, A.field, B.no, B.field
FROM A LEFT JOIN B ON A.idx = B.idx
> Dette returnere ingenting, da A.idx.3=B.idx.3 ikke findes. Men
> jeg vil stadigt gerne returnere følgende:
>
> [null], 45, [null], [null]
Du vil nok nærmere få
3, 45, NULL, NULL
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Burns (30-04-2004)
| Kommentar Fra : Burns |
Dato : 30-04-04 13:11 |
|
> Kig på LEFT JOIN:
> SELECT A.no, A.field, B.no, B.field
> FROM A LEFT JOIN B ON A.idx = B.idx
Tak, det fungere helt perfekt. Nu skal jeg bare lige have fundet ud af hvad
det rent faktisk betyder men det kan en SQL manual sikker hjælpe med; "LEFT
JOIN"
| |
Jens Gyldenkærne Cla~ (30-04-2004)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 30-04-04 13:43 |
|
Burns skrev:
> Tak, det fungere helt perfekt. Nu skal jeg bare lige have
> fundet ud af hvad det rent faktisk betyder men det kan en SQL
> manual sikker hjælpe med; "LEFT JOIN"
Hvis du slår op i BOL, kan du finde en del om de forskellige join-
typer.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
|
|