Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

SQL Server-None Aggregate function Query

09:54 22-04-2018 537 lượt xem 3 bình luận 18:07 25-04-2018

Mình tìm được một câu hỏi về SQL khá là hay trên trang web nước ngoài. Để cho dễ mình tạm dịch CSDL ra như sau. Câu hỏi không yêu cầu dùng hết các bảng nhưng mình vẫn liệt kê hết.

HọcSinh (Tên, Mã_HS, CMND, Ngành_Học, Nơi_Sinh, Niêm_Khóa)

                Primary Key (PK): Mã_HS

                Unique: CMND

Lớp (Mã_Lớp, Tên_Lớp, Khoa)

                PK: Mã_Lớp

CLB_HọcSinh (Mã_CLB, Tên_CLB, PresidentID, Năm_Thành_Lập)

                PK: Mã_CLB

                Unique: Tên_CLB

                Foreign Key (FK):  PresidentID references Mã_HS

Lớp_Đăng_Kí ( Mã_HS_ĐK, Mã_Lớp_ĐK, Học_Kì, Năm)

                PK: (Mã_HS_ĐK, Mã_Lớp)

                FK: Mã_HS_ĐK references Mã_HS

                FK: Mã_Lớp_ĐK references Mã_Lớp

Thành_Viên_CLB (Mã_Thành_Viên, Mã_CLB_TV, Gia_Nhập)

                PK: (Mã_Thành_Viên, Mã_CLB)

                FK: Mã_Thành_Viên references Mã_HS

                FK: Mã_CLB_TV references Mã_CLB

Câu hỏi: Lấy ra các CLB mà thành viên của các nhóm đó là giống nhau. Ví dụ:

-CLB Bóng đá: Hoàng, Bình, Duy

-CLB Bơi: Lan, Khoa

-CLB Toán có: Sơn, Minh, Hằng

-CLB Tiếng Anh: Hoàng, Bình, Duy.

-CLB Marathon: Lan, Khoa.

Khi chạy query thì nó ra “CLB Bóng đá” và “CLB Marathon”.

Yêu cầu: không dùng kiến thức vượt quá bài số 17 trong serie SQL của Howkteam và không được dùng aggregate function. Nếu bạn nào chưa xem thì nói chung là được dùng tới truy vấn lồng thôi. If-else, loop gì đó thì không đươc dùng.

 

Câu hỏi này không có đáp án nhưng mình có 1 vài thắc mắc:

1. Mình có thể viết 1 query để giải mà không Hardcode đc ko?

                PS: thử hardcode nhưng ko giải đc nên không hardcode là mình mù tịt.

2. Giả sử mình không dùng aggregate function thì câu hỏi sẽ được giải như thế nào?  

Bạn nào có gợi ý hay hướng đi để giải thì cho mình biết. Mình cảm ơn nhiều. :D

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
꧁༒Hell Demons༒꧂ đã bình luận 18:07 25-04-2018

Cho xin cái database đi! Làm cho!

anhnt đã bình luận 13:26 25-04-2018

Cám ơn bạn. Chắc khó quá bỏ qua :))

K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 12:10 22-04-2018

1. nếu không dùng T-SQL thì chỉ có thể truy vấn lồng thôi. bản chất select là 1 dạng filter. từ cái bảng to bự của bạn nó bào từ từ theo điều kiện để ra bộ kết quả cuối cùng theo điều kiện bạn muốn

2. không rõ :3

Câu hỏi mới nhất