SQL NOT IN Befehl

DiDiJo

Erfahrenes Mitglied
hey leute,

ich hab eine Tabelle xyz mit folgendem Aufbau (auszugsweise):

kid (INT) (auto_increment)
skid (INT)
name (varchar)
uid(INT)
vid(INT)

mit Inhalt gefüllt sieht das Ganze dann so aus:

kid | skid | name | uid | vid
--------------------------------------------------------
1 | 1 | name1 | 1 | 1
2 | 1 | name1 | 1 | 24
3 | 2 | name2 | 1 | 1
4 | 2 | name2 | 1 | 24

ich möchte nun alle skid und namen bekommen bei denen die vid beispielsweise != 7 und die uid = 1 ist. ist die vid 1 oder 24 dann sollte natürlich ein leeres ergebnis geliefert werden mein ansatz sieht so aus
SQL:
SELECT DISTINCT(name),skid 
WHERE uid='$_SESSION[uid]' AND vid NOT IN 
(SELECT vid FROM kurse WHERE vid != 7 and uid='$_SESSION[uid]') group by name,skid

das ist übrigens immer der Fehler (egal wie ich meinen sql Befehl gedreht habe)

#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE uid='1' AND vid NOT IN
(SELECT vid FROM kurse WHERE vid
 
Zuletzt bearbeitet:
Hi.

Du mußt schon die Tabelle angeben von der die Datensätze kommen sollen. Die Syntax ist
SQL:
select <cols> from <table> where <cond>
Gruß
 
upala ... da war ich beim thread schreiben wohl etwas verplant ... in meinem script steht das from natürlich


hier nochmal das update
SQL:
      SELECT DISTINCT(name),skid FROM kurse
      WHERE uid='1' AND vid NOT IN
      (SELECT vid FROM kurse WHERE vid != 7 AND uid='1') GROUP BY name,skid
 
Zuletzt bearbeitet:
Kann ich nicht nachvollziehen. Gib dir mal den Befehl direkt aus und poste hier per Copy'n'Paste wie der Befehl genau aussieht.

Gruß
 
sooo sry fürs nix tun von meiner Seite. ich war ähhhh verhindert :rolleyes:

SQL:
SELECT DISTINCT name,skid FROM videos WHERE uid='1' AND vid NOT IN (SELECT vid FROM kurse WHERE vid!='24' AND uid='1' ) group by name,skid
 
Zuletzt bearbeitet von einem Moderator:
Das kann nicht der richtige Befehl sein, da fehlt das from.

Gruß

\edit: Aha. Jetzt hast du's editiert, aber das ist ja dann auch nicht wirklich der Befehl der dort ausgeführt wird, sonst hättest du ihn ja kopieren können. Lass dir den Befehl auf der Webseite (ist doch PHP oder?) ausgeben und poste ihn dann hier mittels Copy'n'Paste rein. Alles andere macht keinen Sinn, da du anscheinend zu verpeilt bist.
 
Zuletzt bearbeitet:
Zurück