我正在尝试从一列中获取不同值的列表,同时通过另一个表上的内部联接获取键列数据,如下所示。表a和表b保存客户端的键列。 表b包含列产品,其具有一系列值与一系列客户编号
表a仅包含客户端数据
表b包含客户编号和产品
Client product
1. A
1. B
2. B
3. C
我想找到客户在表a和表b中的不同产品值列表 欢迎任何建议
答案 0 :(得分:0)
查找客户端在表中的不同产品值的列表 a和表b
正如您将在下面注意到的那样" distinct"没有在联接中应用
SELECT DISTINCT
b.Product
FROM TABLEA a
INNER JOIN TABLEB b ON a.Client = b.Client
;
内连接确保客户端同时存在于A和B中,然后选择"选择不同的"删除产品列表中的任何重复。
SELECT
b.Product
, COUNT(*) AS countof
FROM TABLEA a
INNER JOIN TABLEB b ON a.Client = b.Client
GROUP BY
b.Product
;
另一种选择,它也会使客户在A和B中的产品清单明确地使用group by
,还有额外的好处,这样你可以做一些额外的事情,比如计算产品的频率引用。