|
|
|
|
|
|
|||||||
| Datenbanken SQL und Co |
|
|
|
LinkBack | Themen-Optionen | Thema bewerten |
|
|
#1 (permalink) |
|
Neuer Benutzer
Registriert seit: 02.02.2009
Beiträge: 21
![]() |
Hallo,
ich möchte - wie der Titel sagt, alle datensätze, die nicht in der tabelle1 stehen aus einer tabelle2 laden. Ich habe schon alles mögliche probiert, aber komm nicht wirklich weiter. So dacht ich müsste es gehen,... aber es funktioniert leider nicht. Code:
SELECT DISTINCT kasse_artikel.* FROM kasse_artikel LEFT JOIN kasse_inventur_daten ON kasse_inventur_daten.artnr != kasse_artikel.artnr WHERE kasse_inventur_daten.invid =15 ORDER BY `kasse_artikel`.`id` ASC Habt ihr eine Idee dazu? Mfg voda |
|
|
|
|
|
|
|
PHP Code Flüsterer
Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten
|
|
|
|
#3 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 05.09.2007
Beiträge: 5.044
![]() |
Zur Sicherheit:
kasse_artikel ist tabelle1 und kasse_inventur_daten tabelle2? Also übersetzt "ich möchte - wie der Titel sagt, alle datensätze, die nicht in der kasse_artikel stehen aus kasse_inventur_daten laden." ? |
|
|
|
|
|
#4 (permalink) |
|
Neuer Benutzer
Registriert seit: 02.02.2009
Beiträge: 21
![]() |
Danke erstmal.
Aber ich möchte kein INSERT machen. Beide Tabelle existieren schon. Beide haben ein Feld "artnr" gemeinsam. Das soll verglichen werden und ich möchte das alle Datensätze aus der Tabelle "kasse_artikel" angezeigt werden, die eine "artnr" haben welche sich nicht in der Tabelle "kasse_inventur_daten" befindet. Also genau anders herum, als David dachte. |
|
|
|
|
|
#5 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 05.09.2007
Beiträge: 5.044
![]() |
Ich habe einfach wahlfrei eine Kombination gewählt, da das nicht aus dem Text hervor ging
Eine mögliche Grundform dafür ist: Code:
SELECT a.artnr FROM kasse_artikel as a LEFT JOIN kasse_inventur_daten as i ON a.artnr=i.artnr WHERE Isnull(i.artnr) Code:
SELECT
artnr
FROM
kasse_artikel as a
WHERE
NOT EXISTS (
SELECT
*
FROM
kasse_inventur_daten as i
WHERE
i.artnr=a.artnr
)
|
|
|
|
|
|
#6 (permalink) |
|
Neuer Benutzer
Registriert seit: 02.02.2009
Beiträge: 21
![]() |
Oh das sieht gut aus. Vielen Dank! kannst du mir bitte noch erklären, was das mit dem
Code:
WHERE Isnull(i.artnr) Ich habe den zweiten Code verwendet, da ich das eben geschriebene beim ersten nicht so ganz versteh. Danke!!! |
|
|
|
|
|
#8 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 05.09.2007
Beiträge: 5.044
![]() |
Mit
Code:
SELECT a.artnr FROM kasse_artikel as a LEFT JOIN kasse_inventur_daten as i ON a.artnr=i.artnr NULL verhält sich an einigen Stellen auf den ersten Blick etwas seltsam. Wenn Du ein Feld explizit gegen NULL vergleichen willst, solltest Du die dafür bereitgestellten Funktionen/Operatoren verwenden. Also IsNull(), is null, <=> usw usw. |
|
|
|
|
| Themen-Optionen | |
| Thema bewerten | |
|
|