我有一个表,每行有一列包含sql查询。我想用union all
添加这些sql查询。我该如何添加它们?
例如: 有一行
select * from students
,另一行有
select * from schools
我需要:
(select * from students) union all (select * from schools)
我有下面的表格,我想联合sqlStrring列。
谢谢。
答案 0 :(得分:1)
Select sqlString from students UNION ALL Select sqlString from Schools
联合必须具有相同类型的相同列才能工作。由于学校和学生不太可能拥有相同类型的相同列,因此您必须精确到所需的列。 *除非表格结构相同,否则根本不起作用。
答案 1 :(得分:0)
select * from (
select something as one_column from students
union all
select something_else as one_column from schools
)
答案 2 :(得分:0)
如果通过" union"您的意思是在一个查询中包含students
中的所有列和schools
中的所有列,那么它取决于students
和schools
是否以及如何相关。如果它们不是并且您只需要将列放在一起而不排列任何行,那么您可以这样做:
SELECT * FROM Students st
FULL OUTER JOIN Schools sc
ON 1 = 0 // do not match any rows
或者如果有一个foriegn键来连接这两个表,那么你可以这样做:
SELECT * FROM Students st
FULL OUTER JOIN Schools sc // or INNER JOIN, or LEFT JOIN, whichever is appropriate
ON st.SchoolID = sc.SchoolID // join by SchoolID