我正在使用3表进行查询。引号表有一个名为quote_id的键,它存储在quote_items表中。引号表中只有一个quote_id实例,但在quote_items表中可能会多次出现。我想将两者结合在一起,但过滤掉不止一次出现quote_id的任何实例。
SELECT * FROM quotes
INNER JOIN quote_items ON
quotes.quote_id IN (SELECT DISTINCT quote_id FROM quote_items)
INNER JOIN accounts ON
quotes.account_id = accounts.account_id AND quotes.status = 0
WHERE primary_sales_id = 2 AND quotes.quote_id = quote_items.quote_id
ORDER BY quotes.date_submitted DESC
您可以忽略account_id部分。基本上我的第3行应该是不同的,我知道,但是如何解决这个问题我不确定。
如果我的报价看起来像这样
quote_id | quote_name
1 | quote1
2 | qute2
和quote_items看起来像这样
quote_id | item_name
1 | boards
2 | nails
2 | blocks
我应该回来
quote_id | quote_name | item_name
1 | quote1 | boards
2 | quote2 | nails
答案 0 :(得分:1)
您可以使用:
SELECT DISTINCT quotes.quote_id, quote_name, item_name
FROM quotes, quote_items
WHERE quotes.quote_id = quote_items.quote_id
group by (quote_id );