Câu lệnh truy vấn SQL (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

tkhieu

Thành viên chính thức
Tham gia
13/9/13
Bài viết
64
Được thích
5
Xin chào mọi người.
Nhờ mọi người giúp mình viết câu lệnh SQL để lấy cột CardCode và Name từ bảng M thoả mãn điều kiện CardStatus ở bảng C = 2 và Date ở bảng M là lớn nhất.
Cám ơn mọi người.
 

File đính kèm

  • screenshot_1748569938.png
    screenshot_1748569938.png
    18.4 KB · Đọc: 10
CSDL có cả trăm loại. Bạn nhìn cái hình mà đoán được nó từ file Excel thì đáng phục thật.
Thấy bạn ấy miêu tả bằng file Excel nên đoán vậy. Với lại muốn thử thì phải có dữ liệu để thử, muốn người giúp giả lập dữ liệu rồi đưa kết quả thì hơi khó đấy.

Tái bút: Mà giả lập dữ liệu thì phải là file Excel rồi ghi chú mình dùng loại CSDL nào mới hợp lý.
 
Lần chỉnh sửa cuối:
Mình dùng CSDL của MSSQL ạ
SQL Server?
Tức là dùng phiên bản T-SQL

"Chọn phát sinh có ngày lớn nhất" là câu truy vấn kinh điển của SQL (Correlation Query). Người nào dùng qua đều biết cách viết câu này. Cũng như người nói mình có học toán thì sẽ coi như biết giải phương trình bậc 2.

Riêng bài này thì có thêm cái bảng thứ hai cho nên câu truy vấn hơi lòng vòng một chút. May là ở đây dùng T-SQL có hỗ trợ CTE (Common Table Expression)

- Dùng lệnh WITH tạo một CTE gồm bảng M JOIN (??? xem chú thích) bảng C và lọc lấy CardStatus = 2
- Trên CTE này, dùng truy vấn Correlation để nhóm theo CardCode và chọn ngày lớn nhất.

Chú: hỏi bài mà cũng lười biếng không chịu tả cho rõ. Không cho biết liên hệ giữa M và C thì bắt người ta đoán mò cách nối bảng à?
 
Web KT

Bài viết mới nhất

Back
Top Bottom