Я хочу получить запрос из двух таблиц, но результирующий запрос содержит больше строк, чем должно быть.
Мое утверждение:
SELECT * FROM deal D, item I WHERE D.dealstate = 'ACCEPTED' AND
((D.owner = 'UserName1') OR
(D.itemID = I.itemID AND I.owner = 'UserName1')) AND
D.deadline < NOW()
С помощью этого утверждения я хочу получить активные сделки пользователя. Таблица сделок имеет owner (the requester), dealID, itemID, creationdate, dealstate, deadline, explanation
, а таблица товаров имеет owner (the owner of item), itemID, itemname, description
.
Проблема в том, что я хочу запрос с одним результатом. Потому что «UserName1» имеет только 1 сделку. Однако я получаю запрос с 10 строками, каждый из которых соответствует сделке. Я думал использовать «JOIN», но если пользователь не является владельцем элемента, эта таблица ITEM не будет использоваться. Тогда что мне делать?
Надеюсь, я достаточно ясно выразился.