我试图将记录插入到我的表中。但是有一列我想要获得2个select语句的连接结果。就像2个语句一样,它将获取它们的记录并连接成1值,以便它可以插入到列中。
insert into ABC (Name,City,Age)
Values ('John',(
(Select City from TableA where ID=1)concat(Select City from TableA where ID=2)),'22')
或者它可以用逗号分隔,但我不知道在这里使用什么。
答案 0 :(得分:1)
试试这个:
INSERT INTO ABC (Name, City, Age)
VALUES ('John',
(
(SELECT City FROM TableA WHERE ID = 1) ||
(SELECT City FROM TableA WHERE ID = 2)
),
'22');
但是确保...... WHERE ID = 1和...... WHERE ID = 2返回一行。
答案 1 :(得分:1)
使用交叉连接从两个表中进行选择会产生一个很好的清晰语句:
insert into ABC (Name,City,Age)
select 'John', concat(t1.city, t2.city), 22
from TableA t1
cross join TableA t2
where t1.ID = 1
and t2.ID = 2
/
答案 2 :(得分:0)
为此使用CONCAT()或CONCAT_WS()函数(reference)
insert into ABC (Name,City,Age) Values (
'John',
CONCAT_WS(' ', (Select City from TableA where ID=1), (Select City from TableA where ID=2)),
'22'
)