Я не могу осмыслить этот. У меня такой запрос:
SELECT
p.person_id,
p.first_nm,
p.last_nm,
pu.purchase_dt,
pr.sku,
pr.description,
a.address_type_id,
a.city_cd,
a.state_cd,
a.postal_cd
FROM
person p
INNER JOIN address a ON p.person_id = a.person_id
INNER JOIN purchase pu ON pu.person_id = p.person_id
INNER JOIN product pr ON pr.product_id = pu.product_id
Достаточно просто - мне просто нужно получить информацию для клиентов, которым мы отправили возврат. Однако из-за таблицы addressType
AddressType
address_type_id address_type_desc
------------------------------------
1 Home
2 Shipping
у некоторых клиентов есть несколько адресов в таблице адресов, создавая неуникальные повторяющиеся записи, подобные этой.
1,Smith, John, 12/01/2009, A12345, Purple Widget, 1, Anywhere, CA, 12345
1,Smith, John, 12/01/2009, A12345, Purple Widget, 2, Somewhere, ID, 54321
Я бы хотел, чтобы запрос возвращал только одну строку / человека и возвращал домашний адрес, если есть, в противном случае верните адрес доставки.
Это кажется достаточно простым, и, возможно, это просто моя простуда, но это заставляет меня немного чесать голову.