Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何检查然后显示两个表的结果并检查是否存在?_Mysql_Sql - Fatal编程技术网

Mysql 如何检查然后显示两个表的结果并检查是否存在?

Mysql 如何检查然后显示两个表的结果并检查是否存在?,mysql,sql,Mysql,Sql,查询结果:使用left join和case when Tabel_A --------- id name 1 Kursi 2 Roda 3 Gigi Tabel_B --------- id id_tabel_A 1 2 Result -------- name Status Kursi 0 Roda 1 Gigi 0 当 Tabel_A --------- id name 1 Kursi 2 Roda 3 Gigi Tabel_B

查询结果:使用
left join
case when

Tabel_A
---------
id  name
1   Kursi
2   Roda
3   Gigi

Tabel_B
---------
id  id_tabel_A
1   2

Result
--------
name    Status
Kursi   0
Roda    1
Gigi    0

Tabel_A
---------
id  name
1   Kursi
2   Roda
3   Gigi

Tabel_B
---------
id  id_tabel_A
1   2

Result
--------
name    Status
Kursi   0
Roda    1
Gigi    0
您可以应用IF语法

 select name, case when b.id_tabel_A is null then 0 else 1 end as status
 from tableA a left join tableB b on a.id=b.id_tabel_A
您可以应用IF语法

 select name, case when b.id_tabel_A is null then 0 else 1 end as status
 from tableA a left join tableB b on a.id=b.id_tabel_A

我建议使用
exists

 SELECT a.name, 
    IF(
        (
            SELECT count(b.id_tabel_A)
            from Tabel_B as b
            WHERE b.id_tabel_A = a.id -- connect
        ) > 0
     , "YES", "NO")  as status
 from Tabel_A as a

我更喜欢
存在的原因是它会自动处理
表B中的重复项。您不必担心查询返回重复的结果。

我建议使用
exists

 SELECT a.name, 
    IF(
        (
            SELECT count(b.id_tabel_A)
            from Tabel_B as b
            WHERE b.id_tabel_A = a.id -- connect
        ) > 0
     , "YES", "NO")  as status
 from Tabel_A as a

我更喜欢
存在的原因是它会自动处理
表B中的重复项。您不必担心查询返回重复的结果。

提示:使用左连接提示:使用左连接