同一张表中的两个JOINS

下蹲

我有两个表DocumentXref

外部参照是一种将文档链接到另一个文档的方法。

外部参照表存储ID的的documen T(从文件表)和它相连的外部参照(也是从文件表)

我想检索链接到特定Document外部参照文件名列表

请参阅附件中的表格的基本图示。

以下SQL语句检索我想要的(xref)文件名,但是我希望能够使用文件名而不是它的ID来检索它。

任何帮助,将不胜感激。谢谢。

在此处输入图片说明

专线小巴

您需要加入两个表。应该这样做:

SELECT d.filename
FROM 
    Document d
    INNER JOIN Xref x ON x.xref_id = d.id
WHERE x.document_id = ?

您想用要查找其文件名的文档的ID替换问号。

如果要按文档名称而不是文档ID搜索,则需要再添加一个JOIN:

SELECT d.filename
FROM 
    Document d
    INNER JOIN Xref x ON x.xref_id = d.id
    INNER JOIN Document d2 ON d2.id = x.document_id
WHERE d2.filename = ?

注意:假设每个文档在表Xref中都有一个链接的文档。如果不想在没有外部参照的情况下过滤掉文档,则要使用“ LEFT JOIN»而不是“ INNER JOIN»。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从同一张表中查询同一列但条件不同的两个不同的总和?

SQLAlchemy如何为同一张表定义两个模型

为什么我在同一张表中的两个日期之间选择不起作用?

如何在同一张表中的同一模板上显示来自两个不同Django模型的实例?

当两个外键指向同一张表时如何使用Factory boy

PostgreSQL-它会在同一张表上使用两个索引吗?

在同一张表上用两个不同的条件缩短左联接

同一张表上的两个外键以显示父字段

同一张表上的两个select语句并获得Count(*)

在一个查询中两次连接同一张表

EF Core 2.2-同一张表的两个外键

这两个按钮在csv中打开同一张表有问题吗?

从同一张表中获得两个值

同一张图中的两个图形表示

sql比较同一张表中的两个唯一行

左是否基于两个不同的字段联接同一张表?

从同一张表中提取两个查询

如何从orientDB的同一张表中检索两个不同边的数据?

如何计算同一张表中的两个独立列并将它们累加到一个新列中

两个datagridviews绑定到同一张表。刷新无效

如何合并同一张表中的两个hasMany关系?

同一张表中的两个不同数据

MYSQL:通过同一张表中的两个外键选择

同一张表上的两个主键和外键

根据同一张表中的两个键获取记录数组

如果MYSQL中不存在两个值,则插入记录(同一张表)

前 5 条记录,合并来自同一张表的两个查询

MySQL联合同一张表的两个查询

R 一张表的两个回归