从不同的表格中选择所有数据

时间:2019-03-26 02:05:49

标签: mysql

我正在尝试从tb_user表中选择所有tept_no,而从tb_user表中选择user_no,但是WITH()语句即使有更多数据也只能选择两个数据。

我有一个代码,只选择两个数据,但应该再选择两个,因为总共有4个。

   @user_no     INT        
   WITH deptChild AS (
SELECT dept_no, parent_dept_no, name
FROM [dbo].[tb_dept] D
WHERE D.dept_no = (SELECT d.parent_dept_no FROM tb_dept d
                        INNER JOIN tb_dept_user du
                        ON d.dept_no = du.dept_no
                        Inner join tb_user u
                        ON du.user_no = u.user_no
                        where u.user_no = @user_no)
UNION ALL
SELECT D.dept_no, D.parent_dept_no, D.name
FROM [dbo].[tb_dept] D 
INNER JOIN deptChild  
ON D.parent_dept_no = deptChild.dept_no
)
select * from deptChild

这是tb_dept表。

dept_no || company_no || parent_dept_no || dept_id ||名称

221 || 15 || 0 || NULL || 123123

1721 || 15 || 221 || NULL || TEST1

1722 || 15 || 1721 || NULL || TEST2

1723 || 15 || 1722 || NULL || TEST3

TEST3部门没有user_no 1144。

当我执行上面的代码时,结果就是这个。

dept_no || parent_dept_no ||名称

1722 || 1721 || TEST2

1723 || 1722 || TEST3

如您所见,仅选择了两个数据。我想展示全部四个。 我该如何解决?

0 个答案:

没有答案