表1:
CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
INSERT INTO Persons VALUES (1, 'Kumar', 'Anil', 'JP NAGAR','BANGLORE');
INSERT INTO Persons VALUES (2, 'Kumar', 'Sunil', 'LAXMI NAGAR','Delhi');
数据:
Personid LastName irstName Address City
'1' 'Kumar' 'Anil' 'JP NAGAR' 'BANGLORE'
'2' 'Kumar' 'Sunil' 'LAXMI NAGAR' 'Delhi'
表2:
CREATE TABLE PERSON_DETAIL (
userid int ,
email VARCHAR(80) ,
PersonID int,
displayname VARCHAR(50)
)
INSERT INTO PERSON_DETAIL VALUES (11, 'a@gmail.com', 1, 'AK');
INSERT INTO PERSON_DETAIL VALUES (12, 's@gmail.com', 2, 'SK');
数据:
userid email PersonId displayname
'11' 'a@gmail.com' '1' 'AK'
'12' 's@gmail.com' '2' 'SK'
我想要像这样加入以便它给出这样的输出:
PersonId lastnmae firstname combineddata
1 Kumar Anil a@gmail.com_JpNAGAR_BANGLORE
2 Kumar Sunil s@gmail.com_LaxmiNagar_Delhi
请帮助我如何加入,以便我给出欲望输出 我尝试过内连接但无法获得输出。
答案 0 :(得分:1)
简单JOIN
并连接字符串:
SQL Server
:
SELECT PE.PersonID,
PE.Lastname,
PE.FirstName,
PD.email + '_' + PE.Address + '_' + PE.City AS combineddata
FROM Persons PE
JOIN PERSON_DETAIL PD ON PD.PersonID = PE.PersonID
对于MySQL
,请尝试使用CONCAT
SELECT PE.PersonID,
PE.Lastname,
PE.FirstName,
CONCAT(PD.email, '_' , PE.Address , '_' , PE.City) AS combineddata
FROM Persons PE
JOIN PERSON_DETAIL PD ON PD.PersonID = PE.PersonID
答案 1 :(得分:0)
select
p.personid,p.lastname,p.firstname,
concact(pd.email,'_',pd.address,'_',pd.city)as combined_data
from person as p
inner join person_detail pd on p.personid =pd.personid
答案 2 :(得分:0)
试试这个
select P1.PersonID,P1.LastName ,P1.FirstName,PD.email + '_' + PE.Address + '_' + PE.City combineddata
from Persons P1 ,PERSON_DETAIL PD
where P1.PersonID = PD.PersonID