SQL giao dịch trong bảng. Theo định nghĩa, một bảng có một loạt các hàng, mỗi hàng có các cột giống nhau. Truy vấn của bạn sẽ mang lại một tập hợp kết quả trùng lặp thông tin của khách hàng cho mỗi khóa học mà cô ấy đã tham gia.
Lớp trình bày của bạn sẽ định dạng bảng đó, bằng cách để ý hàng đầu tiên của mỗi máy khách mới và chia nhỏ tiêu đề máy khách. Bạn sẽ làm điều đó trong php hoặc Java hoặc Crystal Reports hoặc một số công nghệ trình bày như vậy.
Truy vấn của bạn giống như thế này.
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 nói rõ về cạm bẫy của việc sử dụng USING()
. Đây là cùng một truy vấn trên 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