Tôi đang viết truy vấn và đã sử dụng giải pháp trong this thread và nó đã hoạt động phần nào nhưng tôi vẫn gặp một chút rắc rối.SQL - Chọn bản ghi mới nhất khi có một bản sao
Tôi muốn chọn một loạt các bản ghi dành cho hầu hết các phần độc đáo, nhưng có một số ít xảy ra hai lần. Tôi muốn có thể chỉ chọn bản ghi có ngày mới nhất. Đây là câu hỏi của tôi cho đến nay:
SELECT tb1.id,tb1.type,tb1.date
FROM Table tb1
WHERE tb1.type = 'A' OR 'B'
AND tb1.date = (SELECT TOP 1 tb2.date
FROM Table tb2
WHERE tb2.date = tb1.date
ORDER BY tb2.date DESC)
này hoạt động như xa như nó lấy kỷ lục mới nhất của các hồ sơ có bản sao, nhưng những hồ sơ mà KHÔNG có bản sao không xuất hiện ở tất cả.
Cảm ơn bạn đã giúp đỡ và xin lỗi nếu tôi đã bỏ lỡ điều gì đó siêu rõ ràng; Tôi mới vào trò chơi SQL.
Bạn có thể cung cấp dữ liệu mẫu của các hàng duy nhất không được trả lại so với các bản sao chính xác không? – kaj
Lưu ý rằng bạn xuất hiện để tham gia vào ngày và không phải bởi bất cứ điều gì khác, ví dụ như id. Điều đó có chủ ý không? – kaj
bạn có thể cụ thể hơn không? Bạn nói: "Tôi muốn có thể chỉ chọn bản ghi có ngày mới nhất" và sau đó "nhưng những bản ghi KHÔNG có bản sao không xuất hiện ở tất cả" ... có vẻ như hai điều khác nhau đối với tôi. – Diego