PSQL代码丢失

时间:2017-10-09 05:43:12

标签: psql

我的问题是让一行显示两个空值。

FROM tuotemerkki;
         tmtunnus |  tmnimi  |     maa
        ----------+----------+-------------
                1 | McCee    | Yhdysvallat
                2 | KooTek   | Italia
                3 | Giardino | Italia
        (3 rows)

FROM tuote;
 ttunnus |         tnimi         |       kuvaus       | suositushinta | tmtunnus
---------+-----------------------+--------------------+---------------+----------
     111 | Trimmeri TRCee        | tehokas 4-tahtinen |        179.00 |        1
     112 | Trimmerisiima Cee     | laadukas siima     |          6.99 |        1
     113 | Moottorisaha MSCee RR | robusti ja raskas  |        559.00 |        1
     114 | Trimmerisiima Y       | yleissiima         |          3.99 |        2
     115 | Lapio L               | kevyt yleislapio   |         23.95 |        2
(5 rows)

我需要在tmnimi的giardino上使用NULL VALUE选择此选项。

  tmnimi  |         tnimi         |       kuvaus
----------+-----------------------+--------------------
 McCee    | Trimmeri TRCee        | tehokas 4-tahtinen
 McCee    | Trimmerisiima Cee     | laadukas siima
 McCee    | Moottorisaha MSCee RR | robusti ja raskas
 KooTek   | Trimmerisiima Y       | yleissiima
 KooTek   | Lapio L               | kevyt yleislapio
 Giardino |                       |

(6行)

我只选择了这个

SELECT tmnimi, tnimi, kuvaus
    FROM tuote
    CROSS JOIN tuotemerkki
    WHERE tuote.tmtunnus = tuotemerkki.tmtunnus;

 tmnimi |         tnimi         |       kuvaus
--------+-----------------------+--------------------
 McCee  | Trimmeri TRCee        | tehokas 4-tahtinen
 McCee  | Trimmerisiima Cee     | laadukas siima
 McCee  | Moottorisaha MSCee RR | robusti ja raskas
 KooTek | Trimmerisiima Y       | yleissiima
 KooTek | Lapio L               | kevyt yleislapio
(5 rows)

1 个答案:

答案 0 :(得分:0)

在两个表之间使用左连接:

SELECT
    t1.tmnimi,
    t2.tnimi,
    t2.kuvaus
FROM tuotemerkki t1
LEFT JOIN tuote t2
    ON t1.tmtunnus = t2.tmtunnus

当您从tuotemerkki离开加入tuote时,前表中的每条记录都会保证显示在结果集中。由于Giardino记录与tuote表中的任何内容都不匹配,因此该表中的所有列都将具有Giardino记录的NULL值。