我试图从一列不同的值列表,同时获得另一个表的内部连接的关键列数据如下..表A和表B持有客户端的关键列。表B保存列乘积,列乘积具有一个值范围和一个客户端编号范围表a仅保存客户端编号表b保存客户编号和产品
Client product 1. A 1. B 2. B 3. C
我想找到客户在表a和表b中的不同产品价值的列表欢迎任何建议
fdx2calv1#
查找客户端位于表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 ;
另一种选择是使用group by,它也列出了客户端位于A和B中的产品的不同列表,这种方式的额外好处是,您可以做一些额外的事情,例如计算产品被引用的频率。在www.example.com上试试SQLFiddle.com
group by
1条答案
按热度按时间fdx2calv1#
查找客户端位于表a和表b中的不同产品值的列表
正如您将在下面注意到的,“distinct”并不应用于连接
内部联接确保客户端存在于A和B中,然后“选择不同的”删除产品列表中的任何重复。
另一种选择是使用
group by
,它也列出了客户端位于A和B中的产品的不同列表,这种方式的额外好处是,您可以做一些额外的事情,例如计算产品被引用的频率。在www.example.com上试试SQLFiddle.com