2017-10-09 70 views
0

我必须在同一行的结果是2排在SQL实例的表格显示:进行查询到相同的表值在不同的行

**Name  Lastname address  U_Name** 
John  Smith  123 N Av  NULL 
E-mail NULL  [email protected]  John 

Result 
**Name Last name e-mail** 
John Smith  [email protected] 

感谢

我现在查询看起来像这样

select C2.UREPEMAIL, 'NULL' as Source, CS.TITLE, CS.CONTACT, C1.COMPANY, C2.UGMNAME as Vendor, CS1.Contsupref, 'NULL', 
CS.PHONE, CS.EXT, CS.FAX, 'NULL', 'NULL', 'NULL' Skype, 'NULL', CS.TITLE, 'NULL', 'Department', 'NULL', 'NULL', 'Pref of Con', 
'NULL', CS.ADDRESS1 + ' ' + CS. ADDRESS2, CS.CITY, CS. STATE, CS.ZIP, CS.COUNTRY, CS.ADDRESS3, 'NULL', 'NULL', 'NULL', 'NULL', 
'NULL' 
from CONTSUPP CS   
INNER JOIN CONTSUPP CS1 
ON CS.CONTACT = CS1.ADDRESS2 
INNER JOIN CONTACT1 C1 
ON C1.ACCOUNTNO = CS.ACCOUNTNO 
INNER JOIN CONTACT2 C2 
ON C2.ACCOUNTNO = CS.ACCOUNTNO 
+0

请问您的表有什么键? –

+0

请具体关于问题。改善你的问题与表列和示例数据和输出正确 – krishnar

+0

@TimBiegeleisen Theres链接到其他表的关键,但链接2行的唯一方法是与名称和U_Name – Nacho

回答

0

This?

SELECT a.Name, 
     a.Lastname, 
     b.Address 
FROM YourTable a 
     JOIN YourTable b 
      ON a.Name = b.U_Name 
+0

谢谢我试过这个,但是因为我有更多的日期,当我使用过滤器时它不尊重它,因为它是同一张表 – Nacho

+0

请将您的查询发布到原始问题上您指的日期和WHERE子句 – SEarle1986

+0

谢谢@ SEarle1986我刚刚将联接更改为LEft联接,并且还添加了那些没有电子邮件的联接 – Nacho

0

您的样本数据的大小是非常有限的,所以我加了一些数据,将显示一个故障(当名<> u_name),因为你需要找到连接记录的第一部分的一些可靠的方法记录的第二部分。如果这种关系不存在,你可以识别这个(由于空的u_name)。

SQL Fiddle

CREATE TABLE Table1 
    ( `Name` varchar(20) 
    , `Lastname` varchar(20) 
    , `address` varchar(100) 
    , `U_Name` varchar(20) 
    ) 
; 

INSERT INTO Table1 
    (`Name`, `Lastname`, `address`, `U_Name`) 
VALUES 
    ('John', 'Smith', '123 N Av', NULL) 
    , ('E-mail', NULL, '[email protected]', 'John') 
    , ('Barney', 'Rubble', '123 N Av', NULL) 
    , ('E-mail', NULL, '[email protected]', 'brubble') 
; 

查询1

select 
    t1.Name, t2.U_Name, t1.Lastname, t1.address, t2.address as email 
from table1 t1 
left join table1 t2 on t1.name = t2.u_name and t2.name = 'E-mail' 
where t1.name <> 'E-mail' 
order by t1.name 

Results

| Name | U_Name | Lastname | address |  email | 
|--------|--------|----------|----------|------------| 
| Barney | (null) | Rubble | 123 N Av |  (null) | 
| John | John | Smith | 123 N Av | [email protected] | 
+0

谢谢@Used_By_Already左连接是缺少的东西谢谢! – Nacho

相关问题