WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Mysql INNER / LEFT Join Problem (http://www.wcm.at/forum/showthread.php?t=129543)

bev 26.03.2004 10:47

Mysql INNER / LEFT Join Problem
 
Hallo Forum,
hab ein Problem mit Mysql LEFT JOIN.
Danke für eure hilfe.


Ausgangssituation:

2 Tabellen

Tabelle1: Name "test", Spalten: "ID_test", "text", "dVon"
Tabelle2: Name "test2", Spalten: "ID_test", "ID_test2", "text2", "dVon"

Wie oben vielleicht schon erkennbar joine ich von Tabelle "test" auf "test2" über das Feld "test2.ID_test"

Problem:

Das Feld dVon ist dazu da Datensätze als gelöscht zu markieren.

Wenn jetzt in "test2" ein Datensatz als gelöscht markiert wird erhalte ich zu diesem Datensatz auch kein Ergebniss von "test" obwohl vorhanden.

Ist jedoch in "test2" noch kein Datensatz vorhanden der in Verbindung mit "test" steht bekomme ich ein Ergebniss.

Hier Meine Daten:

"test"
1, Test1, NULL
2, Test2, NULL
3, Test3, NULL

und

"test2"
1, 1, Test zu 1, NULL
2, 2, Test zu 2, 1

Hier mein SQL:

SELECT
test.text,
test2.text2
FROM
test
LEFT JOIN test2 ON test.ID_test = test2.ID_test
WHERE
test.dVon IS NULL
AND test2.dVon IS NULL


Hier das Ergebniss:

Test1, Test zu 1
Test3, NULL

Wie Ihr seht fehlt mir der Datensatz "Test2" den ich gerne ebenfalls so wie "Test3" angezeigt hätte.

Hoffe soweit verständlich.

Vielen Dank für Eure Hilfe

Schönen Gruß

Bev

käptn 26.03.2004 10:59

Du fragst ob test2.dVon NULL ist, ist es aber nicht für Test2.

~

bev 26.03.2004 11:04

Hi

soweit ist das schon klar, test2.dVon soll auch nicht null sein da ja dieser datensatz als gelöscht markiert wurde.

Trotzdem möchte ich aber in meinem ergebniss
den datensatz aus test1 angezeigt bekommen.

so wie der satz 3, wo dann das feld test2.text2 ebenfalls als NULL ausgegeben wird.

Also mein Ergebniss sollte so aussehen:

Test1, Test zu 1
Test2, NULL
Test3, NULL

renew 26.03.2004 13:40

dann darfst aber das nicht machen:
Code:

AND test2.dVon IS NULL
;)

bev 26.03.2004 14:42

jup ich weiss, aber ich muss das machen
da ich ja als gelöscht markierte datensätze nicht mehr
anzeigen will.

gib es da irgendeine lösung über sql damit er mir das gewünschte ergebniss so liefer ?

danke

gruß

bev


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag