sql >> Database teknologi >  >> RDS >> Mysql

Hvordan man formulerer en forespørgsel for at vise alle kurser taget af en person

SQL handler i tabeller. Per definition har en tabel en række rækker, som hver har de samme kolonner som hinanden. Din forespørgsel vil give et resultatsæt, der dublerer kundens oplysninger for hvert kursus, hun tog.

Dit præsentationslag vil formatere denne tabel ved at lægge mærke til den første række af hver ny klient og bryde klientoverskriften ud. Du vil gøre det i php eller Java eller Crystal Reports eller en sådan præsentationsteknologi.

Din forespørgsel er noget som denne.

SELECT a.id, a.name, a.address, a.etc, c.Name FROM Clients a JOIN CoursesForClients b USING(ClientID) JOIN Courses c USING(CourseID) ORDER BY a.id, c.CourseID

@Strawberry gør en god pointe om faldgruben ved at bruge USING() . Her er den samme forespørgsel på ON .

SELECT a.id, a.name, a.address, a.etc, c.Name FROM Clients a JOIN CoursesForClients b ON a.ClientID = b.ClientID JOIN Courses c ON b.CourseID = c.CourseID ORDER BY a.id, c.CourseID


  1. Filtrering fra join-tabel

  2. MySQL Cross-Table Count(*) Forespørgselshjælp

  3. Sådan gemmer du en streng, der indeholder enkelte anførselstegn, i en tekstkolonne i PostgreSQL

  4. Oracle trækker dage og minutter fra