如何在PostgreSQL中有条件地选择表的属性

时间:2015-11-24 11:38:18

标签: sql postgresql

我从PostgreSQL开始,找不到对我有用的东西,在这里:

我有几张表,主表有一个名为" is_thing"它存储一个布尔值。如果它是真的,我想从表中选择一些其他属性" thing",如果" is_thing"那么它可能为空。是假的。我无法弄清楚如何做到这一点(我不想在不同的嵌套查询中拆分它)。我使用的查询会返回所有内容,如果" is_thing"是真的。但如果它是假的,那么绝对没有回报。在这些情况下,我仍然需要主表属性。

以下是我的查询示例:

SELECT
    m.id
    , m.is_thing
    , m.color
    , t.volume
    , t.age
FROM
    main m
    JOIN
        thing t
        ON
            t.id = m.id
WHERE
    m.id = 1234

抱歉我的英语不好,这不是我的第一语言。

1 个答案:

答案 0 :(得分:0)

您可能需要LEFT JOIN

SELECT
    m.id
    , m.is_thing
    , m.color
    , t.volume
    , t.age
FROM main m
LEFT JOIN thing t
ON t.id = m.id
WHERE m.id = 1234;