나는이 개 MySQL의 테이블이 - 판매 테이블 :조인
+----------------+------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+------------------------------+------+-----+---------+-------+
| StoreId | bigint(20) unsigned | NO | PRI | NULL | |
| ItemId | bigint(20) unsigned | NO | | NULL | |
| SaleWeek | int(10) unsigned | NO | PRI | NULL | |
+----------------+------------------------------+------+-----+---------+-------+
과 항목 테이블 : 판매 표는 각 항목 ID에 대해 여러 레코드를 포함
+--------------------+------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+------------------------------+------+-----+---------+-------+
| ItemId | bigint(20) unsigned | NO | PRI | NULL | |
| ItemName | varchar(100) | NO | | NULL | |
+--------------------+------------------------------+------+-----+---------+-------+
- 각각 1 개씩 SaleWeek. 그래서 같은 두 개의 테이블을 조인에서 판매하는 모든 항목을 선택합니다 :
SELECT items.ItemName, items.ItemId FROM items
JOIN sales ON items.ItemId = sales.ItemId
WHERE sales.StoreID = ? ORDER BY sales.SaleWeek DESC;
그러나, 이것은 각 SaleWeek에 대한 여러 항목에 따라 여러에게 항목 Id 값을 반환합니다. 나는 단지 하나의 항목 ID을 반환에 별개의 선택을 할 수 - 나는 일부 항목 최신 SaleWeek에 대한 항목이 없을 수도 있기 때문에 최신 SaleWeek를 조회하고 싶지 않습니다 그래서 나는 마지막을 얻을 필요 판매. DISTINCT을 지정하거나 LEFT OUTER JOIN 또는 무엇인가를 사용해야합니까?
DISTINCT를 시도 했습니까? 당신이 사용하는 DBMS에 따라 주문이 엉망이 될 수도 있습니다 ... –