【问题标题】:SQL Having a single column display value from different tablesSQL 具有来自不同表的单列显示值
【发布时间】:2012-06-15 15:02:31
【问题描述】:

我需要一些帮助。我试图在查询中显示一个名为 SubmissionStatus 的字段。但是我需要从多个表中选择它。比如……

我有:

表0

Table1.SubmissionStatus 表2.提交状态 表3.提交状态 (这三个表都有一个外键将它们与 Table0 关联)

我可以: 选择 Table1.SubmissionStatus、Table2.SubmissionStatus、Table3.SubmissionStatus FROM表0

但这不会给我任何东西

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

请帮忙?

【问题讨论】:

    标签: sql sql-server sql-server-2008


    【解决方案1】:

    我建议使用联合,如下所示:

    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,但我还会添加一个带有表名的列,以便可以从该值的来源识别它。以防万一
    • 这是个好主意,Lamak,我喜欢它,尽管这对 Matt 可能不起作用,因为他提到他希望在一个专栏中使用它。但结果无法区分表绝对是毫无价值的,因此您将无法分辨每个值的来源。好评论! :)
    • 谢谢大家,这正是我所需要的。
    • Lamak,实际上我确实需要包含每个表的主键,因为我必须将它与一些东西连接起来。这只是一个更大查询中的一个子查询。您的意见有所帮助。
    猜你喜欢
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-13
    • 2013-10-11
    • 2022-01-12
    相关资源
    最近更新 更多