c# - 如何将数据从 SQL 加载到树视图中显示的日期表
问题描述
我有chartTable
2 列:
ChildPersonID | ParentPersonID
--------------+-----------------
1 | 2
1 | 3
2 | 4
这personTable
与 2 列相连:
ID | PersonName
---+-----------------
1 | a
2 | b
3 | c
4 | d
我想要一个选择查询,用显示在树视图中的 PersonName 填充数据表
结果:
parentname | parentid | childname | childid
-----------+----------+-----------+---------
a | 1 | b | 2
a | 1 | c | 3
b | 2 | d | 4
我的代码
DECLARE @Table1 TABLE (ChildPersonID INT,ParentPersonID INT)
DECLARE @Table2 TABLE (ID INT, PersonName VARCHAR(10))
INSERT INTO @Table1 VALUES (1,2),(1,3),(2,4)
INSERT INTO @Table2 VALUES (1,'a'),(2,'b'),(3,'c'),(4,'d')
SELECT T3.PersonName AS parentName, T1.ChildPersonID AS ParentId,
T2.PersonName AS childname, T1.ParentPersonID AS childid
FROM @Table1 T1
INNER JOIN @Table2 T2 ON T1.ParentPersonID = T2.Id
INNER JOIN @Table2 T3 ON T2.ChildPersonID = T3.id
解决方案
这是您要查找的查询(尽管您提到的列名令人困惑,但我认为应该颠倒)
DECLARE @Table1 TABLE (ChildPersonID INT,ParentPersonID INT)
DECLARE @Table2 TABLE (ID INT, PersonName VARCHAR(10))
INSERT INTO @Table1 VALUES (1,2),(1,3),(2,4)
INSERT INTO @Table2 VALUES (1,'a'),(2,'b'),(3,'c'),(4,'d')
SELECT T3.PersonName AS parentName, T1.ChildPersonID AS ParentId,
T2.PersonName AS childname, T1.ParentPersonID AS childid
FROM @Table1 T1
INNER JOIN @Table2 T2 ON T1.ParentPersonID = T2.Id
INNER JOIN @Table2 T3 ON T1.ChildPersonID = T3.id
推荐阅读
- c - 是否可以在矩阵中放置空格而不是数字?
- python - Python:以格式从csv文件中拆分数据
- python - 在不存在的区域内拖放,将其放在行之间
- javascript - 从下拉列表中选择值时清除值输入字段并使用新值更新
- r - 为什么 as.Date 在一种情况下返回 NA,而在另一种情况下不返回?
- python - 在 Python 中将图像文件上传到 Google 存储桶
- swift - 通过引用改变变量的值
- qt - Q_GADGET 具有值类型语义?
- java - 使用弹簧靴的多个构造函数注入歧义
- g1gc - 为什么MemoryPoolMXBean.MemoryUsage.getUsed for old generation的结果在G1下没有混合GC的情况下会减少?