If statement mysql连接两列中的所有字段

If statement mysql连接两列中的所有字段,if-statement,mysql-workbench,self-join,If Statement,Mysql Workbench,Self Join,我有一个包含两列的视图:一个人的ID(一个数字)和他们下面要访问的扇区(数字1-5) 我想创建一个视图来显示人们是否属于同一部门。我认为这将有三列:ID1、ID2和SameSector。第一列将列出ID,对于第1列中的每个ID,第二列将列出所有ID。第三列是if语句,如果两个ID的扇区相同,则为1,如果扇区不相同,则为0。由于一个人可以属于多个部门,因此这一点稍微复杂一些 例如: 我有: ID Sector 1 1 2 1 2 5 3 1 ID部门 1 1 2

我有一个包含两列的视图:一个人的ID(一个数字)和他们下面要访问的扇区(数字1-5)

我想创建一个视图来显示人们是否属于同一部门。我认为这将有三列:ID1、ID2和SameSector。第一列将列出ID,对于第1列中的每个ID,第二列将列出所有ID。第三列是if语句,如果两个ID的扇区相同,则为1,如果扇区不相同,则为0。由于一个人可以属于多个部门,因此这一点稍微复杂一些

例如:

我有:

ID Sector 1 1 2 1 2 5 3 1 ID部门 1 1 2 1 2 5 3 1 我想:

ID1 ID2 SameSector 1 1 1 1 2 1 1 2 0 1 3 0 2 1 1 2 1 0 ID1 ID2 SameSector 1 1 1 1 2 1 1 2 0 1 3 0 2 1 1 2 1 0 等等


我猜这涉及到某种自连接和if语句,但我不知道如何将所有ID字段列在ID1列中,并与ID2中的所有ID字段匹配。有什么想法吗

这应该是您想要的:

SELECT a.ID AS ID1, b.ID AS ID2, IF(a.Sector=b.Sector,1,0) AS SameSector
FROM theTable AS a, theTable AS b

我最初有一个更复杂的查询,但后来意识到您需要一个完整的交叉连接,包括与自身比较相同的ID