我正在使用3表进行查询。quotes表有一个名为quote_id的键,它存储在quote_items表中。quotes表中只有一个quote_id实例,但在quote_items表中可能会出现多次。我想把这两个连接在一起,但是过滤掉引号出现不止一次的任何实例。

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

您可以忽略帐户id部分。基本上我的3号线应该是不同的,我知道,但我不确定该怎么做。
如果我有这样的报价
quote_id | quote_name
1        | quote1
2        | qute2

并引用像这样的项目
quote_id | item_name
1        | boards
2        | nails
2        | blocks

我该回去了
quote_id | quote_name | item_name
1        | quote1     | boards
2        | quote2     | nails

最佳答案

您可以使用:

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 );

关于mysql - MySQL从两个具有公共(public)键的表中选择不同的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17931256/

10-12 03:41