Avatar billede mortenag Nybegynder
04. april 2010 - 17:21 Der er 2 kommentarer og
1 løsning

SQL

Har følgende database:

CREATE TABLE student (
  studentid INT (20) PRIMARY KEY,
  studentname VARCHAR(100)
) TYPE=InnoDB;

CREATE TABLE registred (
  studentid INT (20),
  courseid VARCHAR (4),
  PRIMARY KEY (studentid , courseid)
) TYPE=InnoDB;

student(studenid, studentname)
registered(studentid, courseid)

Har brug for en SQL forespørgsel, som lister studentid og navn sammen med det totale antal kurser en studerende er tilmeldt.

Studerende som ikke er tilmeldt et kursus skal listes med antallet af kurser vist som 0

Håber nogen vil hjælpe....
04. april 2010 - 17:57 #1
SELECT s.studentid, s.studentname, COUNT(c.courseid)
FROM mortenag_student s LEFT JOIN mortenag_registered r ON s.studentid = r.studentid
LEFT JOIN mortenag_course c ON r.courseid = c.courseid
GROUP BY s.studentid, s.studentname
04. april 2010 - 18:00 #2
Kommentar:  for at teste svaret oprettede jeg et par tabeller som jeg kaldte mortenag_student, mortenag_registered, og mortenag_course  Du skal med dine tabeller naturligvis stryge mortenag.  Jeg gik foroevrigt ud fra at ud ogsaa har en tabel course med courseid INT og coursename VARCHAR(et eller andet).
Avatar billede mortenag Nybegynder
04. april 2010 - 18:53 #3
TAK for Hjælep.. it works..
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