如何从一个表中选择另一个表中没有外键的记录

扎纳亚

我的数据库中有5张桌子 在此处输入图片说明

我想选择V_CODEV其中记录不分享任何 S与外键F时,f码=“A”。

我尝试了类似的东西

select distinct V_CODE
from V
         inner join V_S VS on V.V_ID = VS.V_FK
         inner join S on VS.S_FK = S.S_ID
where S._ID not in (
    select FS.S_FK
    from F
             inner join F_S on F.F_ID = F_S.F_FK
    where F.F_CODE = 'A'
    );

但这并不能完全返回我想要的。有人可以帮忙吗?提前致谢。

表F

| F_ID |  F_CODE |
| 1    |    A    |
| 2    |    B    |
| 3    |    C    |

表F_S

| F_FK |  S_FK  |
| 1    |    1   |
| 2    |    2   |
| 3    |    3   |

表S

| S_ID |  S_CODE  |
| 1    |    S1    |
| 2    |    S2    |
| 3    |    S3    |

表V_S

| V_FK |  S_FK  |
| 1    |    1   |
| 1    |    2   |
| 2    |    3   |
| 3    |    1   |
| 3    |    3   |

表五

| V_ID |  V_CODE  |
| 1    |    V1    |
| 2    |    V2    |
| 3    |    V3    |

在这种情况下,我只想返回,V2因为当F_CODE ='A'时,它是表中唯一V不共享表中记录的记录S

戈登·利诺夫

如果我理解正确,那么当您遵循表之间的关系时,您希望v_codes没有f_code = 'A'

对我来说,这表明not exists

select v.*
from v
where not exists (select 1
                  from v_s join
                       f_s
                       on v_s.s_fk = f_s.s_fk join
                       f
                       on f_s.f_fk = f.f_id
                  where f.f_code = 'A' and vs.v_fk = v.v_id
                 );

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

从一个表中选择用户标识,然后在另一个表中更新

来自分类Dev

从一个表中选择另一个不存在的表

来自分类Dev

如何从一个表中选择数据并插入另一个表中?

来自分类Dev

根据另一个表中的引用值从一个表中选择值

来自分类Dev

从一个表中选择数据并为主“键”连接另一个表相当慢

来自分类Dev

从一个表中选择记录,而另一个表中没有两列

来自分类Dev

如何从一个表(具有两列的唯一组合)中选择所有SQL行,而另一个表中没有相同的组合

来自分类Dev

MySQL:如何从一个表中选择从另一个表获取的每个间隔之间的行

来自分类Dev

如何从一个表中选择一个值,而在另一个表中满足两个单独的条件对

来自分类Dev

Laravel中从一个表到另一个表中相同字段的多个外键

来自分类Dev

SQL查询以基于另一个表中的列值从一个表中选择

来自分类Dev

如何从一个表中选择在另一表中由于某种条件而在另一表中不存在的所有记录?

来自分类Dev

根据另一个表中的关键字从一个表中选择行

来自分类Dev

在一个查询中从两个表中选择一个记录,并从另一个表中选择多个记录

来自分类Dev

从一个表中选择记录,然后从另一个表中选择一个记录数

来自分类Dev

当能力在另一个表中时,如何从一个表中选择数据?

来自分类Dev

如何从一个表中选择数据并插入另一个表中?

来自分类Dev

从一个表中选择数据并将另一个表连接为主“键”是相当缓慢的

来自分类Dev

从一个表中选择与另一个表没有关系的表

来自分类Dev

从一个表中选择记录,这些记录在另一个表中不存在

来自分类Dev

从一个表中选择,从另一个表中计数

来自分类Dev

根据另一个表的频率从一个表中选择列?

来自分类Dev

SQL查询-从一个表中选择全部,在另一个表中匹配记录

来自分类Dev

从一个表中选择所有记录并从另一个表中匹配记录

来自分类Dev

如何从一个表中选择数据并将其插入到带有新列的另一个表中

来自分类Dev

如何从一个表中选择另一个表中不存在的所有记录,但在不存在的记录中返回NULL

来自分类Dev

当另一个表的条件满足时如何从一个表中选择记录

来自分类Dev

如何在cakephp 3.6中从一个表中选择所有记录并从另一个表中选择一些记录

来自分类Dev

从一个表中选择所有列,从另一个表中选择 1 列

Related 相关文章

  1. 1

    从一个表中选择用户标识,然后在另一个表中更新

  2. 2

    从一个表中选择另一个不存在的表

  3. 3

    如何从一个表中选择数据并插入另一个表中?

  4. 4

    根据另一个表中的引用值从一个表中选择值

  5. 5

    从一个表中选择数据并为主“键”连接另一个表相当慢

  6. 6

    从一个表中选择记录,而另一个表中没有两列

  7. 7

    如何从一个表(具有两列的唯一组合)中选择所有SQL行,而另一个表中没有相同的组合

  8. 8

    MySQL:如何从一个表中选择从另一个表获取的每个间隔之间的行

  9. 9

    如何从一个表中选择一个值,而在另一个表中满足两个单独的条件对

  10. 10

    Laravel中从一个表到另一个表中相同字段的多个外键

  11. 11

    SQL查询以基于另一个表中的列值从一个表中选择

  12. 12

    如何从一个表中选择在另一表中由于某种条件而在另一表中不存在的所有记录?

  13. 13

    根据另一个表中的关键字从一个表中选择行

  14. 14

    在一个查询中从两个表中选择一个记录,并从另一个表中选择多个记录

  15. 15

    从一个表中选择记录,然后从另一个表中选择一个记录数

  16. 16

    当能力在另一个表中时,如何从一个表中选择数据?

  17. 17

    如何从一个表中选择数据并插入另一个表中?

  18. 18

    从一个表中选择数据并将另一个表连接为主“键”是相当缓慢的

  19. 19

    从一个表中选择与另一个表没有关系的表

  20. 20

    从一个表中选择记录,这些记录在另一个表中不存在

  21. 21

    从一个表中选择,从另一个表中计数

  22. 22

    根据另一个表的频率从一个表中选择列?

  23. 23

    SQL查询-从一个表中选择全部,在另一个表中匹配记录

  24. 24

    从一个表中选择所有记录并从另一个表中匹配记录

  25. 25

    如何从一个表中选择数据并将其插入到带有新列的另一个表中

  26. 26

    如何从一个表中选择另一个表中不存在的所有记录,但在不存在的记录中返回NULL

  27. 27

    当另一个表的条件满足时如何从一个表中选择记录

  28. 28

    如何在cakephp 3.6中从一个表中选择所有记录并从另一个表中选择一些记录

  29. 29

    从一个表中选择所有列,从另一个表中选择 1 列

热门标签

归档