Avatar billede compilos Nybegynder
26. september 2007 - 21:33 Der er 11 kommentarer og
1 løsning

SQL-Statement

Jeg har f.eks. en statement der ser sådan her ud.
SELECT  T1.id, T2.id
FROM    T1, T2
WHERE  (T1.id = '1234') AND (T2.id = 'data')

Problemet er at T2.id ikke findes med "T2.id = 'data'" (T2 kan være helt tom),
hvilket resultere i at jeg ikke får noget tilbage fra T1, selvom den indeholder data. Der er ikke nogen relation imellem tabellerne, så hva´  kan jeg gøre!
Avatar billede arne_v Ekspert
26. september 2007 - 21:37 #1
SELECT  T1.id, T2.id
FROM    T1, T2
WHERE  (T1.id = '1234') AND (T2.id = 'data' OR T2.id IS NULL)
Avatar billede arne_v Ekspert
26. september 2007 - 21:37 #2
Men jeg tror at du skal lave en LEFT JOIN paa et eller andet i stedet for.
Avatar billede arne_v Ekspert
26. september 2007 - 21:38 #3
SELECT  T1.id, T2.id
FROM    T1 LEFT JOIN T2 ON T1.noget = T2.noget
WHERE  T1.id = '1234'
Avatar billede compilos Nybegynder
26. september 2007 - 21:44 #4
Øhh, jep - det er sikkert problemet. Der er intet i de 2 tabeller der på nogen som helst måde kan relateres til hinanden. Så et join dur ikke!
Prøver lige din første kommentar!
Avatar billede compilos Nybegynder
26. september 2007 - 21:49 #5
Det dur vidst ikke.!
Øhhh  -  jeg leder videre !
Avatar billede arne_v Ekspert
26. september 2007 - 22:02 #6
Hvad er formaalet med at hente raekker ud af T1 og raekker ud af T2 som ikke har noget
med hinanden at goere ??
Avatar billede arne_v Ekspert
26. september 2007 - 22:07 #7
Hvad med den absurde:

SELECT  T1.id, T2.id
FROM    T1 LEFT JOIN T2 ON (T1.id = '1234') AND (T2.id = 'data')

?
Avatar billede compilos Nybegynder
26. september 2007 - 22:33 #8
Det kunne godt se GODT ud. - Jeg skal lige prøve den i en større sammenhæng.!

Det bliver først imorgen Arne, - men jeg tror det ser SUPER ud!.

/Compilos
Avatar billede compilos Nybegynder
27. september 2007 - 19:58 #9
Hej Arne, - det så skidt ud!!

Jeg laver om på data modellen, så der kommer en relation.!
Ellers suuper tak for hjælpen.
Lig svar hvis du vil ha´ lidt points
Avatar billede arne_v Ekspert
28. september 2007 - 01:31 #10
OK

Ellers må du poste nogle eksempel data for de to tabeller og forklare hvad du vil have ud og
hvorfor det lige er disse rækker.
Avatar billede compilos Nybegynder
28. september 2007 - 17:43 #11
Jamen jeg selecter en hel masse forskelligt og det virker fint.

Det nye i det her er at jeg i web application som får endnu en parameter med f.eks
Code="1234" eller Code="".
Jeg vil selecte fra en tabel og findes coden ("1234") returnere den f.eks "1", findes coden ikke eller er indholdet af paramaeteren tom, så vil jeg bare ha´ et null!

Håber det er til at forstå!.
Avatar billede weinreich Nybegynder
08. oktober 2007 - 22:14 #12
SELECT  T1.id, T2.id
FROM    T1, T2
WHERE  (T1.id = '1234') OR ((T1.id = '1234') AND (T2.id = 'data')
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