2012-06-15 29 views
0

我需要一些帮助。我试图在查询中显示一个名为SubmissionStatus的字段。不过,我需要从多个表中选择它。例如...SQL从不同的表中获得单列显示值

我:

Table0

Table1.SubmissionStatus Table2.SubmissionStatus Table3.SubmissionStatus (所有这三个表有一个外键将它们与Table0)

我可以这样做: SELECT Table1.SubmissionStatus,Table2.SubmissionStatus,Table3.SubmissionStatus FROM Table0

但是,这不会给我任何东西

我需要这样的东西: SELECT SubmissionStatus FROM Table0(作为一列)

帮助吗?

回答

3

我建议使用一个工会,像这样:

SELECT T1.SubmissionStatus 
FROM Table1 T1 
JOIN Table0 T0 ON T1.primaryKey = T0.foreignKey 
UNION 
SELECT T2.SubmissionStatus 
FROM Table1 T2 
JOIN Table0 T0 ON T2.primaryKey = T0.foreignKey 
UNION 
SELECT T3.SubmissionStatus 
FROM Table1 T3 
JOIN Table0 T0 ON T3.primaryKey = T0.foreignKey 

这会把一切都在一列(认为工会的有点像JOIN关键字,但加盟的,而不是列的行)。

+1

+1,但我也会添加一个列表名称,以便可以从该值的来源识别它。以防万一 – Lamak

+1

这是一个好主意,Lamak,我喜欢它,但它可能不适用于Matt,因为他提到他希望在一列中。但是结果无法区分表格,这绝对没有价值,因此您无法知道每个值的来源。好评! :) – Kreg

+0

谢谢你们,这就是我所需要的。 –

相关问题