首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Oracle如何在联接中使用不同的命令

Oracle如何在联接中使用不同的命令
EN

Stack Overflow用户
提问于 2017-11-02 12:22:31
回答 1查看 6.5K关注 0票数 0

Im试图从一个列中获取一个不同值的列表,同时在另一个表上通过内部连接获取键列数据,因为below..table a和表b持有客户端的键列。表b保存列产品,该产品具有一系列针对客户端编号的值。

表a只容纳客户号码

表b保存客户号码和产品。

代码语言:javascript
运行
复制
Client       product
1.                A
1.                  B
2.                  B
3.                   C

我想找到客户端在表a和表b中的不同产品值的列表,欢迎您提出任何建议。

EN

回答 1

Stack Overflow用户

发布于 2017-11-03 04:19:40

查找客户端位于表a和表b中的不同产品值的列表。

正如您将注意到的,下面没有在联接中应用"distinct“

代码语言:javascript
运行
复制
SELECT DISTINCT
      b.Product
FROM TABLEA a
INNER JOIN TABLEB b ON a.Client = b.Client
;

内部连接确保客户端同时存在于A和B中,然后"select repetition“删除产品列表中的任何重复。

代码语言:javascript
运行
复制
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试一试

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47075209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档