Yêu cầu quản lý bóng đá :
Cầu thủ trẻ nhất từng ghi bàn tại AFF Cup
Yêu cầu này liên quan đến các bảng :
Cầu Thủ (CauThu) : Mã Cầu Thủ (MaCauThu) , Tên Cầu Thủ (Ten) , Ngày Sinh (NgaySinh)
Trận Đấu (TranDau) : Mã Trận (MaGiai) , Tên Trận (TenTran)
Chi Tiết Trận (CTCauThu) : Mã Giải (MaGiai) , Mã Trận (MaTran)
Bàn Thắng : Mã Trận(MaTran) , Mã Cầu Thủ Ghi bàn (MaCauThu)
CTTran lien hệ 1-1 với TranDau
TranDau liên hệ 1-n với BanThang
CauThu lien he 1-n voi BanThang
Hay nói cách khác là BanThang la mối kết hợp giữa TranDau va CauThu
Yêu cầu này mình gặp khó khăn ở chổ là phải tìm ra cầu thủ trẻ nhất ghi bàn tương ứng với thời điễm ghi bàn của anh ta . Tức là có nghĩa năm 2006 anh ấy tham gia và ghi bàn sang năm 2008 anh cũng tham gia và ghi bàn thì tuổi tương ứng của anh ấy ở năm 2006 = 2006-năm sinh của anh ấy và tương tự 2008 cũng phải lấy 2008-năm sinh . Mình sử dụng Case... When... Then... nhưng vẫn báo lỗi . Các bạn kiễm tra phụ mình nhé !
SELECT CTTran.MaGiai , CauThu.Ten ,(Case When CTTran.MaGiai="A06" Then (2006-Year(CauThu.NgaySinh)) When CTTran.MaGiai="A08" Then (2008-Year(CauThu.NgaySinh)) End) as Tuoi
FROM TranDau INNER JOIN ((CauThu INNER JOIN BanThang ON CauThu.MaCauThu = BanThang.MaCauThu) INNER JOIN CTTran ON BanThang.MaTran = CTTran.MaTran) ON (TranDau.MaTran = CTTran.MaTran) AND (TranDau.MaTran = BanThang.MaTran)
(Câu trên đây là mới lập danh sách các cầu thủ ghi bàn theo độ tuổi ứng với các năm 2006 và 2008)
Cầu thủ trẻ nhất từng ghi bàn tại AFF Cup
Yêu cầu này liên quan đến các bảng :
Cầu Thủ (CauThu) : Mã Cầu Thủ (MaCauThu) , Tên Cầu Thủ (Ten) , Ngày Sinh (NgaySinh)
Trận Đấu (TranDau) : Mã Trận (MaGiai) , Tên Trận (TenTran)
Chi Tiết Trận (CTCauThu) : Mã Giải (MaGiai) , Mã Trận (MaTran)
Bàn Thắng : Mã Trận(MaTran) , Mã Cầu Thủ Ghi bàn (MaCauThu)
CTTran lien hệ 1-1 với TranDau
TranDau liên hệ 1-n với BanThang
CauThu lien he 1-n voi BanThang
Hay nói cách khác là BanThang la mối kết hợp giữa TranDau va CauThu
Yêu cầu này mình gặp khó khăn ở chổ là phải tìm ra cầu thủ trẻ nhất ghi bàn tương ứng với thời điễm ghi bàn của anh ta . Tức là có nghĩa năm 2006 anh ấy tham gia và ghi bàn sang năm 2008 anh cũng tham gia và ghi bàn thì tuổi tương ứng của anh ấy ở năm 2006 = 2006-năm sinh của anh ấy và tương tự 2008 cũng phải lấy 2008-năm sinh . Mình sử dụng Case... When... Then... nhưng vẫn báo lỗi . Các bạn kiễm tra phụ mình nhé !
SELECT CTTran.MaGiai , CauThu.Ten ,(Case When CTTran.MaGiai="A06" Then (2006-Year(CauThu.NgaySinh)) When CTTran.MaGiai="A08" Then (2008-Year(CauThu.NgaySinh)) End) as Tuoi
FROM TranDau INNER JOIN ((CauThu INNER JOIN BanThang ON CauThu.MaCauThu = BanThang.MaCauThu) INNER JOIN CTTran ON BanThang.MaTran = CTTran.MaTran) ON (TranDau.MaTran = CTTran.MaTran) AND (TranDau.MaTran = BanThang.MaTran)
(Câu trên đây là mới lập danh sách các cầu thủ ghi bàn theo độ tuổi ứng với các năm 2006 và 2008)