以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  多表查询 自身查自身  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=178741)

--  作者:lzgt
--  发布时间:2022/7/18 18:05:00
--  多表查询 自身查自身

请教: 一个递归结构的数据表,在sql 中通过自身查自身 可以得到 项目的子项数& 是否子项目 ,现转到内部数据源,用查询表生成器 & sql语句都没成功,这个可在实现吗。水平低下,求教了。


S   ELECT TOP 100 PERCENT COUNT(dbo.tbl_jczl_jhfs.id) AS 子项数, dbo.tbl_jczl_jhfs.dm, 
      dbo.tbl_jczl_jhfs.name, CAST(dbo.tbl_jczl_jhfs.dm AS char(4)) 
      + \'_\' + dbo.tbl_jczl_jhfs.name AS dmname, dbo.tbl_jczl_jhfs.sjdm, 
      CASE WHEN tbl_jczl_jhfs_1.sjdm IS NULL THEN 1 ELSE 0 END AS 子项目
FROM dbo.tbl_jczl_jhfs LEFT OUTER JOIN
      dbo.tbl_jczl_jhfs tbl_jczl_jhfs_1 ON 
      dbo.tbl_jczl_jhfs.dm = tbl_jczl_jhfs_1.sjdm
GROUP BY dbo.tbl_jczl_jhfs.dm, dbo.tbl_jczl_jhfs.name, 
      CAST(dbo.tbl_jczl_jhfs.dm AS char(4)) + \'_\' + dbo.tbl_jczl_jhfs.name, 
      CASE WHEN tbl_jczl_jhfs_1.sjdm IS NULL THEN 1 ELSE 0 END, 
      dbo.tbl_jczl_jhfs.sjdm
ORDER BY COUNT(dbo.tbl_jczl_jhfs.id)
[此贴子已经被作者于2022/7/18 18:31:05编辑过]

--  作者:lzgt
--  发布时间:2022/7/18 18:05:00
--  多表查询 自身查自身
这是sql 文本:

S   ELECT TOP 100 PERCENT COUNT(dbo.tbl_jczl_jhfs.id) AS 子项数, dbo.tbl_jczl_jhfs.dm, 
      dbo.tbl_jczl_jhfs.name, CAST(dbo.tbl_jczl_jhfs.dm AS char(4)) 
      + \'_\' + dbo.tbl_jczl_jhfs.name AS dmname, dbo.tbl_jczl_jhfs.sjdm, 
      CASE WHEN tbl_jczl_jhfs_1.sjdm IS NULL THEN 1 ELSE 0 END AS 子项目
FROM dbo.tbl_jczl_jhfs LEFT OUTER JOIN
      dbo.tbl_jczl_jhfs tbl_jczl_jhfs_1 ON 
      dbo.tbl_jczl_jhfs.dm = tbl_jczl_jhfs_1.sjdm
GROUP BY dbo.tbl_jczl_jhfs.dm, dbo.tbl_jczl_jhfs.name, 
      CAST(dbo.tbl_jczl_jhfs.dm AS char(4)) + \'_\' + dbo.tbl_jczl_jhfs.name, 
      CASE WHEN tbl_jczl_jhfs_1.sjdm IS NULL THEN 1 ELSE 0 END, 
      dbo.tbl_jczl_jhfs.sjdm
ORDER BY COUNT(dbo.tbl_jczl_jhfs.id)
[此贴子已经被作者于2022/7/18 18:11:59编辑过]

--  作者:lzgt
--  发布时间:2022/7/18 18:13:00
--  
sql  代码发不了,弄了半天,原来是因为这个原因
--  作者:有点蓝
--  发布时间:2022/7/18 20:22:00
--  
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=178740