首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查然后显示两个表的结果,以及检查是否存在?

如何检查然后显示两个表的结果,以及检查是否存在?
EN

Stack Overflow用户
提问于 2019-09-24 14:56:13
回答 3查看 25关注 0票数 0
代码语言:javascript
复制
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

查询结果:…?

EN

回答 3

Stack Overflow用户

发布于 2019-09-24 14:59:40

使用left joincase when

代码语言:javascript
复制
 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
票数 2
EN

Stack Overflow用户

发布于 2019-09-24 15:04:34

应用IF语法

代码语言:javascript
复制
 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
票数 0
EN

Stack Overflow用户

发布于 2019-09-24 19:25:59

我推荐使用exists

代码语言:javascript
复制
select a.name, 
       (exists (select 1
                from tableB b 
                where a.id = b.id_tabel_A
               )
       ) as status
from tableA a; 

我更喜欢exists的原因是它可以自动处理tableB中的重复项。您不必担心查询返回重复的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58074647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档