Sử dụng SQL Server, tôi có ...SELECT DISTINCT trên một cột
ID SKU PRODUCT
=======================
1 FOO-23 Orange
2 BAR-23 Orange
3 FOO-24 Apple
4 FOO-25 Orange
Tôi muốn
1 FOO-23 Orange
3 FOO-24 Apple
truy vấn này không nhận được tôi ở đó. Làm thế nào tôi có thể CHỌN DISTINCT chỉ trên một cột?
SELECT
[ID],[SKU],[PRODUCT]
FROM [TestData]
WHERE ([PRODUCT] =
(SELECT DISTINCT [PRODUCT] FROM [TestData] WHERE ([SKU] LIKE 'FOO-%'))
ORDER BY [ID]
Giả sử bạn không quan tâm đến hậu tố trên dữ liệu cột SKU? I.E., Bạn chỉ quan tâm đến "FOO-" chứ không phải "FOO-xx" – Kane
Logic của bạn để chọn ID = 1, SKU = FOO-23 so với các giá trị khác là gì? Thật dễ dàng để tạo truy vấn trả lời cho ID = 1 nhưng không thành công cho trường hợp chung là – gbn
gbn - đây là một ví dụ quá đơn giản (rõ ràng). Những gì tôi đang cố gắng thể hiện là một ví dụ đáp ứng cả hai tiêu chí. Không có (và không cần) logic mà cái nào được chọn. – mmcglynn