power-box.de
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 24.05.2005, 00:24   #1
TP-Moderator
 
Benutzerbild von Peter
 
Registriert seit: Nov 2001
Ort: Vienna
Peter ist ein richtiges Arbeitstier - DANKEPeter ist ein richtiges Arbeitstier - DANKEPeter ist ein richtiges Arbeitstier - DANKEPeter ist ein richtiges Arbeitstier - DANKE

[MySQL]Alternative für MINUS


Hallo,

Ich habe eine Tabelle und drei Subtabellen, die alle einen gemeinsamen eindeutigen Schlüssel (id) besitzen.

Ich möchte jetzt alle Einträge der Tabelle bekommen die in keiner der Subtabellen vorkommt.

In SQL würde ich das so lösen:
SELECT ID FROM TABELLE MINUS SELECT ID FROM SUBTABELLE MINUS SELECT ID FROM SUBTABELLE2 MINUS SELECT ID FROM SUBTABELLE3

Wie lässt sich sowas in mysql realisieren?

Grüße,
Peter
__________________
_________-- - adicto otra vez - --
(¯`·.¸¸.·´¯`·.¸¸..¸¸.·´¯`·.¸¸..¸¸.·´¯`·.¸¸.·`¯)
Unterwasserrugby - der dreidimensionale Sport
Peter ist offline   Mit Zitat antworten


Alt 24.05.2005, 00:29   #2
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
Das kann man z.B. mit einem Subselect lösen.

Bei 2 Tabellen wäre das

SELECT ID FROM Tabelle1 WHERE Tabelle1.ID NOT IN (SELECT ID FROM Tabelle2);

Bei 3 Tabellen müsste man das dementsprechend verschachteln.

Auch müsste das mit einer Join-Anweisung lösbar sein.

Die Anweisung MINUS ist mir noch nie begegnet - welcher SQL-Dialekt ist das ?

PS vergiss die obere Anweisung - das mit Subselects klappt in MySQL 4 noch nicht.
Es müsste aber gehen mit :

Select ID from Tabelle1 left join Tabelle2 on Tabelle1.ID=Tabelle2.ID where Tabelle2.ID is null
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer

Geändert von steffenk (24.05.2005 um 00:34 Uhr).
steffenk ist offline   Mit Zitat antworten
Alt 24.05.2005, 00:50   #3
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
noch eine Korrektur: Subqueries sind möglich ab Version 4.1
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 24.05.2005, 10:14   #4
TP-Moderator
 
Benutzerbild von Peter
 
Registriert seit: Nov 2001
Ort: Vienna
Peter ist ein richtiges Arbeitstier - DANKEPeter ist ein richtiges Arbeitstier - DANKEPeter ist ein richtiges Arbeitstier - DANKEPeter ist ein richtiges Arbeitstier - DANKE
Danke St@effen,

Mit Select ID from Tabelle1 left join Tabelle2 on Tabelle1.ID=Tabelle2.ID where Tabelle2.ID is null funktioniert es. Will ich jetzt noch die dritte Tabelle mitnehmen geht es nichtmehr

Select ID from Tabelle1 left join Tabelle2 on Tabelle1.ID=Tabelle2.ID left join Tabelle 3 on Tabelle1.ID= Tabelle3.id where Tabelle2.ID is null and Tabelle3.ID is null

Schreibe ich das Where mitten in die SQL Befehl, funktioniert es auch nicht...
__________________
_________-- - adicto otra vez - --
(¯`·.¸¸.·´¯`·.¸¸..¸¸.·´¯`·.¸¸..¸¸.·´¯`·.¸¸.·`¯)
Unterwasserrugby - der dreidimensionale Sport
Peter ist offline   Mit Zitat antworten
Alt 24.05.2005, 11:11   #5
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
versuch es mal mit

Select tabelle1.`id` from tabelle1 , tabelle2, tabelle3 where tabelle2.`id` is null and tabelle3.`id` is null
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 26.05.2005, 17:12   #6
TP-Moderator
 
Benutzerbild von Peter
 
Registriert seit: Nov 2001
Ort: Vienna
Peter ist ein richtiges Arbeitstier - DANKEPeter ist ein richtiges Arbeitstier - DANKEPeter ist ein richtiges Arbeitstier - DANKEPeter ist ein richtiges Arbeitstier - DANKE
So gings leider auch nicht.
Hab das Problem jetzt anders gelöst.

Danke nochmal.
__________________
_________-- - adicto otra vez - --
(¯`·.¸¸.·´¯`·.¸¸..¸¸.·´¯`·.¸¸..¸¸.·´¯`·.¸¸.·`¯)
Unterwasserrugby - der dreidimensionale Sport
Peter ist offline   Mit Zitat antworten
Alt 26.05.2005, 17:38   #7
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
verrätst Du auch, wie Deine Lösung jetzt aussieht ?
ach, ausserdem wollte ich noch wissen, welcher SQL-Dialekt das MINUS beinhaltet...
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
[MySQL]Alternative für MINUS [MySQL]Alternative für MINUS
« verschachtelte formulare | Umlaute mit PHP »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:57 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67