【问题标题】:how to solve this query using union如何使用联合解决此查询
【发布时间】:2019-06-02 12:31:02
【问题描述】:

在单个表格中显示销售人员的 ID 和名称以及产品的 ID 和类别。通过添加附加列 TYPE 来指示结果中行的来源,该列的可能值为“S”(销售员)和“P”(产品)。显示所有行。

我不会在不使用 alter 的情况下添加“类型”列

select sid AS ID,sname from salesman
union
select category as "DETAILS" from product

实际表格是

业务员表

SID   SNAME    LOCATION
1     Peter    London
2     Michael  Paris
3     John     Mumbai
4     Harry    Chicago
5     Kevin    London
6     Alex     Chicago

产品表

PRODID   PDESC           CATEGORY       DISCOUNT
101      Basketball      Sports         5
102      Shirt           Apparel        10
103      NULL            Electronics    15
104      CricketBat      Sports         20
105      Trouser         Apparel        5
106      Television      ELECTRONICS    20

预期输出

TYPE  ID       DETAILS
P     101      Sports
P     102      Apparel
P     103      Electronics
P     104      Sports
P     105      Apparel
P     106      ELECTRONICS

【问题讨论】:

  • google sql JOIN
  • 您的预期输出不包含销售人员的 ID 和姓名。

标签: sql oracle11g oracle10g


【解决方案1】:

你想要这样的结果吗?

TYPE ID   DETAILS
S    1    Peter
S    2    Michael
S    3    John
S    4    Harry
S    5    Kevin
S    6    Alex
P    101  Sports
P    102  Apparel
P    103  Electronics
....

你可以试试这样的查询

select 'S' AS TYPE, sid AS ID,SNAME AS DETAILS from Salesman
union
select 'P' As TYPE, PRODID, category as "DETAILS" from Product

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-02
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多