Im试图从一个列中获取一个不同值的列表,同时在另一个表上通过内部连接获取键列数据,因为below..table a和表b持有客户端的键列。表b保存列产品,该产品具有一系列针对客户端编号的值。
表a只容纳客户号码
表b保存客户号码和产品。
Client product
1. A
1. B
2. B
3. C我想找到客户端在表a和表b中的不同产品值的列表,欢迎您提出任何建议。
发布于 2017-11-03 04:19:40
查找客户端位于表a和表b中的不同产品值的列表。
正如您将注意到的,下面没有在联接中应用"distinct“
SELECT DISTINCT
b.Product
FROM TABLEA a
INNER JOIN TABLEB b ON a.Client = b.Client
;内部连接确保客户端同时存在于A和B中,然后"select repetition“删除产品列表中的任何重复。
SELECT
b.Product
, COUNT(*) AS countof
FROM TABLEA a
INNER JOIN TABLEB b ON a.Client = b.Client
GROUP BY
b.Product
;另一种选择是使用group by,它还列出了客户在A和B中的不同产品列表,并附加了额外的好处,即您可以做一些额外的事情,比如计算产品被引用的频率。
在SQLFiddle.com试一试
https://stackoverflow.com/questions/47075209
复制相似问题