【问题标题】:I'm trying to join two tables with multiple column我正在尝试将两个具有多列的表连接起来
【发布时间】:2017-12-12 12:06:54
【问题描述】:

我的第一张桌子像:

ID; sip1; sip2; sip3; sip4;

01 ;  A1 ; A2   

02 ; B1 ; B2;  B3 ;   B4;

03 ; C1  ;C2 ; C3;

第二个表,

SipX ; V1

A1   ; a

A2   ; b

B3   ; c

C2   ; d

如何加入这两个表? 我试过了:

select * from firts_table a 
inner join second _table b on a.sip1 = b.sipx 
inner join second_table c on a.sip2 = c.sipx
inner join second_table d on a.sip3 = d.sipx
inner join second_table e on a.sip2 = e.sipx

它没有工作。 我希望展示:

ID; Sipx ; V1

01; A1 ; a
01; A2 ; b
02; B3 ; c
03; C2 ; d

*

【问题讨论】:

  • 请告诉我们您尝试了什么以及您的预期结果是什么。
  • select * from firts_table a inner join second _table b on a.sip1 = b.sipx inner join second_table c on a.sip2 = c.sipx
  • update你的帖子解释你尝试了什么,你当前查询的结果是什么,你的预期结果是什么。

标签: sql database join


【解决方案1】:
SELECT
    table_one.ID,
    table_two.*
FROM
   table_one
INNER JOIN
   table_two
       ON  table_two.SipX IN (table_one.sip1, table_one.sip2, table_one.sip3, table_one.sip4)

【讨论】:

  • 感谢您提供此代码 sn-p,它可能会提供一些有限的即时帮助。一个正确的解释would greatly improve 其长期价值,通过展示为什么这是解决问题的好方法,并将使其对未来有其他类似问题的读者更有用。请edit您的回答添加一些解释,包括您所做的假设。
【解决方案2】:

试试这个查询

   IF OBJECT_ID ('firsttable') IS NOT NULL
    DROP TABLE firsttable
GO

CREATE TABLE firsttable
    (
    id   INT NULL,
    sip1 VARCHAR (20) NULL,
    sip2 VARCHAR (20) NULL,
    sip3 VARCHAR (20) NULL,
    sip4 VARCHAR (20) NULL
    )
GO

IF OBJECT_ID ('secondtable') IS NOT NULL
    DROP TABLE secondtable
GO

CREATE TABLE secondtable
    (
    sipx VARCHAR (20) NULL,
    v1   VARCHAR (20) NULL
    )
GO



    select a.id,a.sip1 AS SIP1,b.v1 AS SIP1_V1,
                a.sip2 AS SIP2,c.v1 AS SIP2_V1,
                a.sip3 AS SIP3,d.v1 AS SIP3_V1,
                a.sip4 AS SIP4,e.v1 AS SIP4_V1
                 from firsttable a 
LEFT OUTER join secondtable b on a.sip1 = b.sipx 
LEFT OUTER join secondtable c on a.sip2 = c.sipx
LEFT OUTER join secondtable d on a.sip3 = d.sipx
LEFT OUTER join secondtable e on a.sip2 = e.sipx

【讨论】:

    猜你喜欢
    • 2016-06-16
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    • 2016-04-19
    相关资源
    最近更新 更多