我有声明可以说像
select field1,field2,field3,field4 from table1
并且对于field1为' foo'的每一行而field2是' bar' 我需要在每个行的结果集中添加第二行。
喜欢
field1 ,field2 ,field3,field4
'foo' ,'bar' ,... ,...
'addrow','addrow',... ,...
'bar' ,'foo' ,... ,...
'bar' ,'foo' ,... ,...
'foo' ,'bar' ,... ,...
'addrow','addrow',... ,...
'bar' ,'foo' ,... ,...
'bar' ,'foo' ,... ,...
并且必须从table2中选择其他行
有没有办法在SQL中做这样的事情?
答案 0 :(得分:1)
如果您有号码标识符,可以使用:
select *
from (select id *10 as id, field1,field2 from table1
union all
select id *10 +1 as id, 'addrow','addrow' from table1
where field1 = 'foo' and field2 = 'bar')
order by id;
检查this Fiddle。