Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/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,我很慌乱。 我正在尝试将一个表连接到它本身,以检查确保我们处理的文件在整个过程中都能完成。我有一个简化的版本,可以看到一张桌子上正在发生的事情 我还用了另一把小提琴来模拟我一直在寻找的东西 我试图避免生成另一个表以使查询正常工作,但如果这是完全不可能的,那么我这样做没有问题。只是尽量减少桌子的数量就够了 任何帮助都将不胜感激。谢谢社区 这是有效的: 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。堆栈溢出允许代码和图像。没有理由不利用这些资源。换言之,我们为什么要让自己受到路旁攻击?就我个人而言,我关闭它们是因为“没有足够的信息来诊断”。在服务器上工作得很好,非常感谢。因此,我的主要问题是添加表中的第二个“文件”。