如果另一个表中存在id,则将列选为true/false

BeB*_*est 18 mysql sql

我有2个表,一个用于成员,另一个用于他们的服务.这些是MySQL 5.6服务器上的InnoDB表.

会员表:

id     |       name       |   phone
----------------------------------------
  1       Daniel             123456789
  2       Liam               123456789
  3       Lucas              123456789
Run Code Online (Sandbox Code Playgroud)

服务表:

 MID    |    profile    |     lastSeen
----------------------------------------
  1       2                  2014-08-13 14:23:23
  3       1                  2014-08-12 15:29:11
Run Code Online (Sandbox Code Playgroud)

我试图实现这个结果:

 id     | name      | services
---------------------------------
  1       Daniel      true
  2       Liam        false
  3       Lucas       true
Run Code Online (Sandbox Code Playgroud)

因此,如果服务表中存在用户标识,则列服务将为true或false.

我试图用JOIN和Sub-Queries做到这一点没有成功,所以我需要你的帮助;)

Gir*_*ish 33

使用LEFT JOIN服务表,尝试此查询

SELECT members.id, members.name, 
       IF(services.mid IS NULL, FALSE, TRUE) as services
FROM members
LEFT JOIN services ON (members.id = services.mid)
Run Code Online (Sandbox Code Playgroud)

  • 如果 services 表中有多行怎么办? (4认同)