Mysql表自身连接
我很慌乱。Mysql表自身连接,mysql,sql,Mysql,Sql,我很慌乱。 我正在尝试将一个表连接到它本身,以检查确保我们处理的文件在整个过程中都能完成。我有一个简化的版本,可以看到一张桌子上正在发生的事情 我还用了另一把小提琴来模拟我一直在寻找的东西 我试图避免生成另一个表以使查询正常工作,但如果这是完全不可能的,那么我这样做没有问题。只是尽量减少桌子的数量就够了 任何帮助都将不胜感激。谢谢社区 这是有效的: select distinct (t1.status), t1.file, t2.status as status_out
我正在尝试将一个表连接到它本身,以检查确保我们处理的文件在整个过程中都能完成。我有一个简化的版本,可以看到一张桌子上正在发生的事情 我还用了另一把小提琴来模拟我一直在寻找的东西 我试图避免生成另一个表以使查询正常工作,但如果这是完全不可能的,那么我这样做没有问题。只是尽量减少桌子的数量就够了 任何帮助都将不胜感激。谢谢社区 这是有效的:
select distinct
(t1.status), t1.file, t2.status as status_out
from
photo as t1
left join
photo t2 ON t1.file = t2.file
and t2.status = 'Processed'
where
t1.status = 'Raw Scanned'
创建派生表并对派生表使用左联接。代码如下
select
F1.File as File,
F1.Status as StatusIn,
F2.Status as StatusOut
from
(
select t1.file, t1.status
from photo as t1 where t1.status = "Raw Scanned" )F1
left join
(
select t2.file, t2.status
from photo as t2
where t2.status = "Processed" )F2
on F1.file = F2.file;
Fiddle请编辑您的问题并包含所需的结果。在问题中添加一些代码,以帮助读者了解您的意图。他同时添加了sql和结果SQLFiddles@iMakeWebsites-很多海报都没有意识到有些人不想离开现场。他们信任堆栈溢出,不信任某些站点X。堆栈溢出允许代码和图像。没有理由不利用这些资源。换言之,我们为什么要让自己受到路旁攻击?就我个人而言,我关闭它们是因为“没有足够的信息来诊断”。在服务器上工作得很好,非常感谢。因此,我的主要问题是添加表中的第二个“文件”。