Avatar billede foxmulder Nybegynder
19. december 2002 - 20:35 Der er 5 kommentarer og
1 løsning

En Join med undtagelser

jeg har 3 tabeller.

bruger - bruger_id, navn, oplysninger blablabla
lærer -  bruger_id, klasse_id
klasse - klasse_id, klasse_navn blablabla

En lærer kan godt undervise i flere klasser og en klasse kan have flere lærere.

Når nu jeg har et klasse_id og gerne vil have en navnelist over alle de lærer som IKKE underviser i klassen.

How dælen do I do??

Jeg har brug for et svar inden kl. 23:59 den 19 december 2002. Ellers ingen point
Avatar billede cwd Nybegynder
19. december 2002 - 21:09 #1
brug NOT IN
Avatar billede foxmulder Nybegynder
19. december 2002 - 21:48 #2
Jeg har prøvet sådan her:

SELECT u.user_id, LEFT(u.user_name, 2) AS role, u.f_name, u.l_name, t.class_id
FROM teaches t
INNER JOIN user u ON t.user_id = u.user_id
WHERE u.language_id ='1'
NOT IN (
SELECT t.user_id FROM teaches t WHERE t.class_id='1' )

Men den melder skisme fejl - Hvoffor?
Avatar billede foxmulder Nybegynder
19. december 2002 - 22:31 #3
har fundet ud af hvorfor NOT IN understøttes ikke af min vers. MySQL 3.23.49

hvad gør jeg så??
Avatar billede mfalck Praktikant
19. december 2002 - 23:02 #4
jeg ville gætte på at du skal bruge en outer join for der får du alle resultater med - ergo også dem som er null ... det er bare lige svært at skue forespørgselen sammen uden data :-)
Avatar billede jakobgt Nybegynder
03. januar 2003 - 01:17 #5
nu ved jeg godt at du ikke giver point, men jeg faldt lige over det her (det skal lige siges at jeg intet kender til Join-metoden):

mysql> SELECT table1.* FROM table1
    ->        LEFT JOIN table2 ON table1.id=table2.id
    ->        WHERE table2.id IS NULL;

This example finds all rows in table1 with an id value that is not present in table2 (that is, all rows in table1 with no corresponding row in table2). This assumes that table2.id is declared NOT NULL, of course.

Taget fra http://www.mysql.com/doc/en/JOIN.html.
Avatar billede foxmulder Nybegynder
24. januar 2003 - 20:08 #6
.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester