Я запускаю запрос, и я получаю дублированные строки. Я не понимаю, почему это так. Вот мой запрос:Повторяющиеся строки Sql Query
SELECT c.FName,
p.ProductName,
s.Description,
s.Quantity,
s.Price
FROM customers c,
products p,
sellers s,
requests r
WHERE c.ID = s.CID
AND p.ProductID = s.ProductID
AND r.ProductID = s.ProductID
AND r.C_ID = 3
AND r.MatchType = 'Price'
ORDER BY s.Price ASC
======= ======= редактировать
Хорошо здесь правку, что значения в таблице запросов выглядит. ПРИМЕЧАНИЕ: CID 2 = DAZ (обычно продавец), 3 = Paul (обычно покупают парень) и 5 = compny1 (обычно продавец) ПРИМЕЧАНИЕ: идентификатор продукта 1 = яблоко, товар id 2 = груша, productid 3 = ягоды, продукт id4 = оранжевый
таблица запроса выглядит следующим образом после выбора записи MatchType = Цена и каст ID = 3:
requestid | cid | productid | Quantity | Price | matchtype
------------------------------------------------------------------
1 3 1 3.0 2.00 price
3 3 4 4.0 2.50 price
4 3 3 2.5 2.00 exact
5 3 2 3.0 3.50 exact
6 3 3 3.0 2.00 exact
7 3 1 10.0 7.00 price
и вот таблица продавцов
promotionID | cid | productid | Quantity | Price | description
------------------------------------------------------------------
1 2 4 5.0 2.99 oranges
2 2 3 1.5 1.00 hand strawberries
3 2 3 2.5 2.00 l stawberries
4 2 2 3.0 3.00 pear
5 5 1 5.0 5.00 royal apples fm appleco.
6 2 1 6.0 5.50 sweet apples
пОСЛЕ выполнения запроса I УДАЛИТЬ ОБА ПРЕДЛАГАЕМЫЕ СОБЫТИЯ И ОДИН В ЭТОМ ВОПРОСЕ Я ХОЧУ ПОЛУЧИТЬ Т HIS AS OUTPUT
FName ProductName Description Quantity Price
daz Oranges Fresh and sweet oranges. 5.0 2.99
compny1 Apple royal apples fm appleco. 5.0 5.00
compny1 Apple royal apples fm appleco. 5.0 5.00
daz Apple sweet apples 6.0 5.50
daz Apple sweet apples 6.0 5.50
Я не понимаю, почему я ПОЛУЧАТЬ строки, повторяющиеся. Идентификатор запрашиваемого продукта должен быть = идентификатор продукта продавцов для соответствия запрошенным продуктам доступным продуктам, а выбранный в этом случае клиент - это 3 ...
Я не понимаю, почему последние 4 записи повторяют их сами? Почему это может быть?
С технической точки зрения должно отображаться только 4 записи. т.е. записи по строкам .. 1,2 и 3
ПРЕДЛОЖЕНИЕ/НАБЛЮДЕНИЕ OKay, посмотрев на это ... Как вы думаете, строки повторяются, потому что productID1 = apple был запрошен одним и тем же клиентом дважды с разные количества ???
requestid | cid | productid | Quantity | Price | matchtype
------------------------------------------------------------------
1 3 1 3.0 2.00 price
7 3 1 10.0 7.00 price
Возможно, эти продукты имеют несколько совпадений в 'запросах'. –
Когда вы выполняете объединение, каждая соединяющая пара отображается, поэтому, если вы присоединились к таблице с одной записью и таблицей с внешним ключом в 10 строк, ответ будет иметь 10 строк. –
@MartinSmith также таблица запроса с идентификатором клиента 3 показывает запросы на следующее: шоколада, 2 кг, 2,00 Choclate, 10 кг, 8.00 сладости, 3KG, 3,00 они являются продуктами, запрашиваемого пользователем 3 .... Есть два поставщика, которые продают холат и сладости ... 1 поставщик именно compny1 продает только один продукт choclate .. другой поставщик daz продает оба. Я просто не понимаю, почему последние 4 строки повторяют их сами? – johnny