join-query

join-query

am 06.05.2006 18:14:08 von sylvio runge

hallo

Also irgendwie habe ich heute ein kleines join-Problem ;)

table seminar (die seminare)
sem_id
public
subscribe
[..]


table stud_im_sem: (die studenten im Seminar)
id
sem_id
stud_id
[..]


Ich möchte jetzt mit einem query alle Seminare (diese natuelich nur 1x) haben, wo subscribe=1,
public=1 und der Student noch nicht im Seminar ist...

SELECT * FROM seminar INNER JOIN stud_im_sem ON seminar.sem_id=stud_im_sem.sem_id where public=1 AND
subscribe=1

jetzte fehlt nur noch ein "wo stud_id noch nicht drinn ist"... irgendwie habe ich heute tomaten auf
den augen... :)

s.

Re: join-query

am 06.05.2006 18:31:00 von Stefan Rybacki

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

sylvio runge schrieb:
> hallo

Hi


> Also irgendwie habe ich heute ein kleines join-Problem ;)
>
> table seminar (die seminare)
> sem_id
> public
> subscribe
> [..]
>
>
> table stud_im_sem: (die studenten im Seminar)
> id
> sem_id
> stud_id
> [..]
>
>
> Ich möchte jetzt mit einem query alle Seminare (diese natuelich nur 1x) haben, wo subscribe=1,
> public=1 und der Student noch nicht im Seminar ist...
>
> SELECT * FROM seminar INNER JOIN stud_im_sem ON seminar.sem_id=stud_im_sem.sem_id where public=1 AND
> subscribe=1

Ein outer join wird dir helfen:

SELECT * FROM seminar s LEFT JOIN stud_im_sem sis ON
(s.sem_id=sis.sem_id AND sis.stud_id=???) WHERE s.public=1 AND
s.subscribe=1 AND stud_id IS NULL

Bis denn dann
Stefan

>
> jetzte fehlt nur noch ein "wo stud_id noch nicht drinn ist"... irgendwie habe ich heute tomaten auf
> den augen... :)
>
> s.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.1 (MingW32)

iD8DBQFEXM9EyeCLzp/JKjARArejAKCQ1KAeTrCID3Pa1PUiPxMVdhEVcQCf aME+
1ivqlsN1J1zLC7wFsWRJeAs=
=8bjs
-----END PGP SIGNATURE-----

Re: join-query

am 06.05.2006 18:40:52 von sylvio runge

Stefan Rybacki wrote:

> > SELECT * FROM seminar INNER JOIN stud_im_sem ON seminar.sem_id=stud_im_sem.sem_id where public=1 AND
> > subscribe=1
>
> Ein outer join wird dir helfen:
>
> SELECT * FROM seminar s LEFT JOIN stud_im_sem sis ON
> (s.sem_id=sis.sem_id AND sis.stud_id=???) WHERE s.public=1 AND
> s.subscribe=1 AND stud_id IS NULL
>
> Bis denn dann
> Stefan
>
Upps (superschnelle Antwort).. danke. Funktioniert bestens...

MfG
S.