gpt4 book ai didi

c# - 如何在查询中执行查询并将其设置为主查询的条件

转载 作者:行者123 更新时间:2023-11-30 23:35:25 25 4
gpt4 key购买 nike

组织表:

OrgName    Id    ParentID
Org1 20 Null
Org2 21 20
Org3 22 21
Org4 23 21
Org5 24 22
Org6 25 Null

在上表中,Org1 是 super 组织,Org2 是 Org1 的子组织。 Org2 的子组织是 Org3 和 Org4。 Org 5 是 Org3 的子组织

我想在我的数据网格中的父 Org1 下显示这些 Org 的所有详细信息。这里我只知道 Org1 ID所以mysql查询就像

Select OrgName from Org_table where ID= 20 and ParentID is 20;

但这个查询只返回 Org1 和 Org2,我还必须返回 Org3、Org4 和 Org5,因为它在 Org1 下。我该怎么做。如果是的话,我应该使用某种循环吗?怎么做。我正在使用 c# 在我的 asp.net 网站上执行此操作。

在运行时,我不知道哪个组织是哪个组织的子组织。所以我必须找到 If the parent id is under the main Org

我想做递归查询

最佳答案

我手头没有mysql,但这应该可以满足你的需要

CREATE TEMPORARY TABLE TempTable (OrgName VARCHAR(10), Id INT, ParentID INT); 

INSERT INTO TempTable SELECT OrgName, Id, ParentID FROM org_table;

WHILE EXISTS (SELECT TOP 1 1 FROM TempTable WHERE EXISTS(SELECT TOP 1 1 FROM TempTable TempTableParent WHERE TempTableParent.ID = TempTable.ParentID AND TempTableParent.ParentID IS NOT NULL) ) DO

UPDATE TempTable SET ParentID = TempTableParent .parentID
FROM TempTable
INNER JOIN TempTable TempTableParent ON TempTableParent.id = TempTable.ParentID
WHERE TempTable.ParentID IS NOT NULL AND TempTableParent.ParentID IS NOT NULL

END WHILE;

SELECT * FROM TempTable

不确定更新语句的语法对于 mysql 是否完全正确.. 可能需要稍微调整一下。

关于c# - 如何在查询中执行查询并将其设置为主查询的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7836323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com