MySQL Linux Query-Konstruktion

Hiho

ich finde irgendwie keine Möglichkeit mein Problem zu lösen, vielleicht habt ihr ja ne idee…

vorab: bei funktionieren sub-querys nach der MySQL-Doku nicht, hab „mysql Ver 12.22 Distrib 4.0.18, for pc-linux-gnu (i686)“ ?!

ich habe zwei tabellen „software“ „user_software“,
software enthält verfügbar software mit „id“, etc.,
user_software (id, type->software.id) enthält die gekaufte software von einem bestimmten user.

ich will alle verfügbaren software-elemente aus „software“ auslesen, die nicht auf dem rechner des users sind und von denen auch nur die niedrigste version (z.B. nur fürs upgrade) und ich krieg keinen vernünftige query gebacken, auch wegen den nicht-funktionieren sub-querys

helft mir :wink:

mfg TLF

Hi also hört sich nicht so schlimm an…
Du brauchst ja nicht mal an inner join?
Also mit der where- Bedinung die Tabellen verbinden und dann kannst du ja noch mit Group by gruppiern.
Vielleicht reciht das schon.
Eventuelle, weiss nicht genau was du so willst, noch nach inner join schauen.
viel spass seb

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi also hört sich nicht so schlimm an…
Du brauchst ja nicht mal an inner join?
Also mit der where- Bedinung die Tabellen verbinden und dann
kannst du ja noch mit Group by gruppiern.
Vielleicht reciht das schon.
Eventuelle, weiss nicht genau was du so willst, noch nach
inner join schauen.
viel spass seb

So einfach scheint dass nicht zu gehen. Er will ja wissen, wer welche Software NICHT auf seinem Rechner hat. Mit einem Join bekommt er nur das Gegenteil. Diese Ergebnis muesste er nehmen und dann evtl. mit except (gibts das bei MySQL?) und einem anderen select dass alle möglichen Kombinationen liefert die Anti-Schnittmenge der zwei Abfragen bilden. Habs allerdings nicht ausprobiert, deshalb keine Garantie.
Kann auch sein, dass es unter MySQL mit der Begrenzten Befehlsanzahl nicht mit einer Abfrage realisierbar ist.

Gruss
Dirk

So einfach scheint dass nicht zu gehen. Er will ja wissen, wer
welche Software NICHT auf seinem Rechner hat.

Er könnte einen OUTER JOIN machen, damit bekommt er auch die resultate die in der anderen Tabelle _nicht_ enthalten sind.
Jedenfalls geht das in MySql.
Er braucht natürlich eine (oder mehrer) Tabellen, über die er die möglichen Software erst mal sammeln kann, um dann zu sehen welche nicht, drin ist.
D.h. so hat er auch die „Anti-Schnittmenge“ bzw. das Komplement der Schnittmengen.
Das geht immerhin…
muss aber zugeben, dass ich nicht die Energie hab mich momentan tiefergehend damit zu beschäftigen.

Kann auch sein, dass es unter MySQL mit der Begrenzten
Befehlsanzahl nicht mit einer Abfrage realisierbar ist.

Vielleicht. Vielelleicht ist das aber nicht sooo schlimm ?

LG Sebastian

thx
danke an alle

Kann auch sein, dass es unter MySQL mit der Begrenzten
Befehlsanzahl nicht mit einer Abfrage realisierbar ist.

Vielleicht. Vielelleicht ist das aber nicht sooo schlimm ?

naja, ich wollte die ergebnismenge eigentlich nicht noch weiter bearbeiten …

mfg TLF