具有基于字段值的列值的组合框

bq3bfh9z  于 2021-07-24  发布在  Java
关注(0)|答案(3)|浏览(244)

我正在制作一个组合框,显示一个键标识符和摘要。

.
所以我有一些案例,其中有一个epic(2)和一个故事(3),具有相同的父id。我也有一些案例,其中有一个故事(5)具有父id(4),不在表中。
我想创建一个两列的组合框,如下所示

.
我希望第一列,我的绑定列,只显示每个父id一次。在像parentid2这样既有史诗又有故事的情况下,我希望第二列显示史诗的摘要。但是在父id 4的情况下,如果id 4作为自己的记录不存在于我的表中,我希望用id 5的摘要填充摘要。
我完全不知道如何在sql中实现这一点。 SELECT table.[Parent ID], First(table.[Summary]) As [Summary] 就我所知,这只是返回给定父id的第一个摘要,不管该记录是epic类型还是story类型。
我在这件事上被难住了一段时间,非常感谢你的帮助。

wnavrhmk

wnavrhmk1#

考虑:

SELECT ParentID, Summary FROM Table3 WHERE ID IN (
    SELECT TOP 1 ID FROM Table3 AS Dupe 
    WHERE Dupe.ParentID=Table3.ParentID ORDER BY Dupe.Type);
t9aqgxwy

t9aqgxwy2#

这就是群策群力的作用。

SELECT ParentID, MAX(Summary)
FROM Table3
GROUP BY ParentID

但这只是画面的一部分,因为你会失去'曾经告诉我',因为它的字母顺序比'世界'。
如果您需要查看所有摘要,这可能会有所帮助:

SELECT ParentID, Summary, MAX(Type) AS [Type], COUNT(*)
FROM Table3
GROUP BY ParentID, Summary
mv1qrgav

mv1qrgav3#

嗯,我想下面是你想要的,你可以优先考虑史诗:

select parentid,
       nz(max(iif(type = "Epic", summary, null)),
          max(summary)
         )
from t
group by parentid;

相关问题