2014-02-25 75 views
0

insert into friends (user_id1,user_id2) select user_id from user where UserName='summer'or UserName='winter' 这给出了一个错误。我想将'summer'的user_id插入user_id1和'winter'的user_id到user_id2中。请帮忙?SQL查询...我需要将table1的同一列中的2个值插入到table2的2个不同列中

+0

你需要改变你的SELECT子句,以获得完成了。现在,你只是通过你的SELECT返回一个值,这导致了错误。 – Incognito

回答

0

选择必须有相同数量的插入列的,因此:

INSERT INTO friends (user_id1,user_id2) 
SELECT (SELECT user_id FROM user where UserName='Summer') AS user_id1, (SELECT user_id FROM user WHERE UserName='Winter') AS user_id2 

应该做的伎俩

0
insert into friends (user_id1,user_id2) 
select user_id, -1 from user where UserName='summer' 

update friends 
set user_id2 = (select user_id from user where UserName='winter') 
where user_id2 = -1 
0
INSERT INTO table2 (user_id1,user_id2) 
SELECT 
    (SELECT UserName 
    FROM table1 
    WHERE UserName='Summer') AS user_id1, 

    (SELECT UserName 
    FROM table1 
    WHERE UserName='Winter') AS user_id2 

SQL FIDDLE

相关问题