我如何结合表的列

时间:2014-03-18 12:48:32

标签: sql

我有一个表,每行有一列包含sql查询。我想用union all添加这些sql查询。我该如何添加它们?

例如: 有一行

 select * from students

,另一行有

 select * from schools

我需要:

(select * from students) union all (select * from schools)

我有下面的表格,我想联合sqlStrring列。

enter image description here

谢谢。

3 个答案:

答案 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中的所有列,那么它取决于studentsschools是否以及如何相关。如果它们不是并且您只需要将列放在一起而不排列任何行,那么您可以这样做:

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