2015-04-14 6 views
0

Я пытаюсь объединить четыре таблицы (пользователи, user_payments, content_type и media_content), но я всегда получаю дубликаты. Вместо того, чтобы видеть, например, что пользователь Смит купил media_content_id_purchase 5011 по цене 3,99 и он потоковый media_content_stream_id 5000 по цене 0,001 мин, я получаю:Объединение четырех таблиц, но без дубликатов

нескольких комбинаций, такие как, media_content_id_purchase 5011 стоит 3,99, 1,99, 6,99 и т.д. с media_content_id_stream, который также имеет всевозможные цены.

Это мой запрос:

select u.surname, up.media_content_id_purchase, ct.purchase_price, up.media_content_id_stream, ct.stream_price, ct.min_price 

from users u, user_payments up, content_type ct, media_content mc 

where u.user_ID=up.user_ID_purchase and 
up.media_content_ID_purchase=mc.media_content_ID or up.media_content_ID_purchase is null and 
ct.content_type_ID=mc.content_type_ID; 

Моя цель состоит в том, чтобы показать каждый пользователь, и что они потребляли с соответствующими ценами.

Спасибо !!!

ответ

1

Возможно, вам стоит попробовать использовать select distinct?

http://www.w3schools.com/sql/sql_distinct.asp

Как вы можете видеть здесь выбрать DISTINCT должен показывать только разные (различные) значения.