【问题标题】:Get data from 3 different tables从 3 个不同的表中获取数据
【发布时间】:2014-08-08 14:19:18
【问题描述】:

我的 Oracle DB 中有 3 个表,即

AMI2.AMI2_RESOURCE_ITEM_JN

  ID                               NUMBER(18,0)          NULL,
  TYPE_CODE                        VARCHAR2(20 BYTE)     NULL,
  USER_JN                          VARCHAR2(32 BYTE)     NOT NULL,

AMI2_RESOURCE_ITEM_DOTNET_JN

  ID                               NUMBER(18,0)          NULL,
  NAAM                             VARCHAR2(500 BYTE)    NULL,
  USER_JN                          VARCHAR2(32 BYTE)     NOT NULL,

AMI2.AMI2_RESOURCE_ITEM_WAARDE_JN

  ID                               NUMBER(18,0)          NULL,
  WAARDE                           CLOB                  NULL,
  USER_JN                          VARCHAR2(32 BYTE)     NOT NULL,

我需要的是加入这些表并获得所有表的不同 user_jn。

AMI2.AMI2_RESOURCE_ITEM_JN

ID   TYPE_CODE      USER_JN
167  DOTNET_GLOBAL  DG3\PAULB
168  DOTNET_GLOBAL  DG3\JOSBRA
169  DOTNET_GLOBAL  DG3\JOSBRA
170  DOTNET_GLOBAL  DG3\RONASS
171  DOTNET_GLOBAL  DG3\JOSBRA
199  DOTNET_GLOBAL  DG3\RUIMAR
162  DOTNET_GLOBAL  DG3\DIMITRI
201  DOTNET_GLOBAL  DG3\RUIMAR
204  DOTNET_GLOBAL  DG3\RUIMAR
207  DOTNET_GLOBAL  DG3\DIMITRI

AMI2_RESOURCE_ITEM_DOTNET_JN

ID   NAAM             USER_J
167  MaatregelWaarde  DG3\JOSBRA
168  MaatregelWaarde  DG3\JOSBRA 
169  MaatregelWaarde  DG3\JOSBRA 
170  MaatregelWaarde  DG3\JOSBRA 
171  MaatregelWaarde  DG3\JOSBRA 
199  MaatregelWaarde  DG3\RUIMAR 
162  MaatregelWaarde  DG3\RUIMAR 

AMI2.AMI2_RESOURCE_ITEM_WAARDE_JN

ID   Waarde     USER_J
149 (HUGECLOB)  DG3\JOSBRA
150 (HUGECLOB)  DG3\JOSBRA
151 (HUGECLOB)  DG3\JOSBRA
152 (HUGECLOB)  DG3\JOSBRA
153 (HUGECLOB)  DG3\JOSBRA
158 (HUGECLOB)  DG3\RUIMAR

所以,有了这3张桌子,我需要得到

USER_J
DG3\DIMITRI
DG3\JOSBRA
DG3\PAULB
DG3\RONASS
DG3\RUIMAR

我不是很擅长这个,所以我什至不知道从哪里开始。 有什么想法吗?

【问题讨论】:

    标签: sql oracle


    【解决方案1】:
    SELECT USER_JN FROM AMI2.AMI2_RESOURCE_ITEM_JN
    UNION
    SELECT USER_JN FROM AMI2_RESOURCE_ITEM_DOTNET_JN
    UNION
    SELECT USER_JN FROM AMI2.AMI2_RESOURCE_ITEM_WAARDE_JN
    

    提示:UNION 的结果默认是不同的。 (如果您想在某些时候重复,请使用UNION ALL。)

    关于结果排序,参考SQL Query - Using Order By in UNION

    【讨论】:

    • 谢谢。这样可行。还有一件事,如果我想在没有 DG3 的情况下得到结果怎么办?
    • 我设法得到了这个,SELECT SUBSTR(USER_JN, INSTR(USER_JN, '\') + 1) from ami2_resource_item_jn UNION SELECT SUBSTR(USER_JN, INSTR(USER_JN, '\') + 1) from ami2_resource_item_dotnet_jn UNION SELECT SUBSTR(USER_JN, INSTR(USER_JN, '\') + 1) from AMI2_RESOURCE_ITEM_WAARDE_JN;
    猜你喜欢
    • 2019-01-07
    • 2021-12-16
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-22
    • 2023-04-01
    • 1970-01-01
    相关资源
    最近更新 更多