如何在一个表中连接两个表的列?

时间:2017-01-02 06:40:38

标签: sql sql-server

如何连接table1选定列和table2选定列以及两个不同列中的一个表中的结果?

table1连接在table_B

中的coulmn_A和table2连接列中的列

这是我的表格:

table1(姓名,年龄,工资,身份证)和table2(地址,城市,身份证)

其中table2中的id列是table1的外键。

3 个答案:

答案 0 :(得分:2)

请尝试此代码。

Insert INTO TargetTable
(
ColumnA,
ColumnB
)
Select Cast(T1.name AS Nvarchar(max)) + Cast(T1.age AS Nvarchar(max))+Cast(T1.salary AS Nvarchar(max))+ Cast(T1.id AS Nvarchar(max)) AS coulmn_A  ,Cast(T2.address AS Nvarchar(max))+Cast(T2.city AS Nvarchar(max))+Cast(T2.id AS Nvarchar(max)) As coulmn_B From Table1 T1
INNER JOIN Table T2 
ON T1.ID=T2.ID

假设:ID列在表2中用作外键

注意:尝试使用相同的数据类型转换列以连接多个列

答案 1 :(得分:1)

如果我已正确理解您的问题陈述,则以下代码可能适合您 -

i.putExtra(Intent.EXTRA_TEXT   , userTitle+" "+userDescription);

假设 - INSERT INTO NEWTABLE(coulmn_A,coulmn_B) SELECT NAME + CAST(AGE AS VARCHAR(10)) + CAST(SALARY AS VARCHAR(100)) + CAST(T1.ID AS VARCHAR(10)) AS [coulmn_A], CAST(ADDRESS AS VARCHAR(2000)) + CITY + CAST(T2.ID AS VARCHAR(10)) AS [coulmn_B] FROM TABLE1 T1 INNER JOIN TABLE2 T2 ON T1.ID = T2.ID 列用作IDtable1

之间的关系

同时将这两个表中的列转换为table2.以避免任何数据类型转换问题(表的真实结构将有助于正确的数据类型和大小使用)。

答案 2 :(得分:0)

谢谢您的宝贵帖子。我已经使用下面的代码:

SELECT p.name+','+cast(p.salary as varchar(50))+','+cast(p.age as varchar(50)) as column_A, d.city+', '+cast(d.id as varchar(10)) AS column_B from test2 as p inner join test as d on d.id=p.testid+122