Ich habe mein untenstehendes Problem doch gelöst bekommen und es ging viel einfacher als ich dachte, also ohne Sub Query usw.
Damit konnte ich alle Sprachenkürzel selektieren, die der USer mit der ID 61 in der anderen Tabelle noch nicht in seinem "Portfolio" hat.
//kann geclosed werden
Hallo zusammen,
ich habe zwei Tabellen, in einer sind die id's der User und die dazugehörigen Sprachen gespeichert, ein User kann mehre Sprachen haben, also:
In der zweiten Tabelle sind alle Sprachen aufgelistet die man zur Auswahl hat:
Nun möchte ich erstmal aus der 1. Tabelle alle Sprachenkürzel eines Users "selecten" was ich so realisiere:
Nun soll dieses Ergebnis als Tabelle genutzt werden und in der 2. Tabelle alle Sprachenkürzel selektiert werden, die mit diesem Ergebnis nicht übereinstimmen. Ich scheitere allerdings schon am verschachtelten "Select". Mit welchem Join (wenn überhaupt) kann man das Ergebnis erhalten?
Nachtrag:
Vielleicht noch als Zusatz, bislang habe ich es so und erhalte alle Sprachenkürzel die bisher noch von keinem User belegt sind:
Nun fehlt mir halt noch die Einschränkung das lediglich ein bestimmter User abgefragt wird, also das verschachtelte SELECT.
Uh shit, hatte mich verguckt, SubQueries kann ich nicht ausführen, da meine MYsql Version noch nicht mitspielt.
PHP-Code:
SELECT a.short
FROM language AS a LEFT JOIN user_language AS b
ON b.id_user = '61' AND a.short = b.lang_short
WHERE b.lang_short IS NULL
;
//kann geclosed werden
Hallo zusammen,
ich habe zwei Tabellen, in einer sind die id's der User und die dazugehörigen Sprachen gespeichert, ein User kann mehre Sprachen haben, also:
id_user | lang_short
61 | en
74 | en
61 | es
61 | en
74 | en
61 | es
language_id | short
0 | en
1 | fr
2 | es
0 | en
1 | fr
2 | es
PHP-Code:
SELECT lang_short FROM user_language WHERE id_user = '61';
Nachtrag:
Vielleicht noch als Zusatz, bislang habe ich es so und erhalte alle Sprachenkürzel die bisher noch von keinem User belegt sind:
PHP-Code:
SELECT a.short FROM language AS a LEFT JOIN user_language AS b
ON a.short = b.lang_short
WHERE b.lang_short IS NULL
GROUP BY a.short;
Uh shit, hatte mich verguckt, SubQueries kann ich nicht ausführen, da meine MYsql Version noch nicht mitspielt.