0

我有一个请求,我选择name, id, date, priority等,我也选择category,因为类别在另一个表中,我链接它JOIN,问题是category可以是空的,如果它是空的,没有ID,不ID意味着JOIN不起作用,它会不显示没有类别的票,因为它无法选择类别名称,有没有办法“尝试”选择类别名称,如果不能,它将类别名称留空但仍选择其他项目?

4

1 回答 1

0

使用您提供的数据左联接将起作用。

使用这两个表:

    |Tickets                      |
    +--+--------+----------+------+
    |ID|Name    |Date      |Cat_id|
    +--+--------+----------+------+
    |1 |Ticket 1|2013-07-13|1     |
    +--+--------+----------+------+
    |2 |Ticket 2|2013-06-13|2     |
    +--+--------+----------+------+
    |3 |Ticket 3|2013-06-25|4     |
    +--+--------+----------+------+

    |Category   |
    +--+--------+
    |ID|Name    |
    +--+--------+
    |1 |sample 1|
    +--+--------+
    |2 |sample 2|
    +--+--------+
    |3 |sample 3|
    +--+--------+

使用此查询可以提供您正在寻找的内容:

    SELECT t.id, t.name
    ,t.date, c.name FROM `stack overflow`.tickets as t
     Left Join category as c on c.id = t.cat_id

我得到的结果是:

    |ID|Name    |Date      |Name    |
    +--+--------+----------+--------+
    |1 |Ticket 1|2013-07-13|Sample 1|
    +--+--------+----------+--------+
    |2 |Ticket 2|2013-06-13|Sample 2|
    +--+--------+----------+--------+
    |3 |Ticket 3|2013-06-25|NULL    |
    +--+--------+----------+--------+
于 2013-07-23T16:17:29.437 回答