gpt4 book ai didi

java - 设置查询获取的结果的格式以供显示

转载 作者:行者123 更新时间:2023-11-29 12:34:02 24 4
gpt4 key购买 nike

我有以下 MySQL 查询,它可以获取我需要的所有信息。

SELECT biobank.*, organization_.name, biobankattributelists.*
FROM biobank INNER JOIN organization_ ON biobank.biobankDbId = organization_.organizationId
LEFT JOIN biobankattributelists ON biobank.biobankDbId=biobankattributelists.biobankDbId
WHERE ((organization_.name LIKE '%%' OR '' IS NULL)
OR (biobank.biobankId LIKE '%%' OR '' IS NULL)
OR (biobank.acronym LIKE '%%' OR '' IS NULL)
OR (biobankattributelists.attributeListName LIKE '%%' OR '' IS NULL)
OR (biobankattributelists.attributeListValue LIKE '%%' OR '' IS NULL))
AND (biobank.countryCode = '' OR '' = '')

结果是enter image description here

此处需要注意的重要列是 biobankDbId、attributeListName、attributeListValue。每个生物库可以有不同的attributeListName,并且每个attributeListName 都有不同的attributeListValue这三者的组合在整个结果集中是唯一的。例如在第 2 行和第 3 行中; 血清生物样本库可用文件方案/程序样本目录

假设我得到这样的结果:

Biobank results = BiobankLocalServiceUtil.searchBiobanks();
for(Biobank row:results){
// To be done....

}

我希望按 attributeListName 分组的每个生物库的结果显示如下。

Name: Biobank For Serum

Automation Services:
Analysis

Available Documents:
Protocols/Procedures, Sample Catalogue

Complementary Services:
Biochemistry Laboratory, Pathology Department/Imaging

.....

我可能可以通过按原样获取结果并再次进行另一个查询来完成此操作。但多次查询效率会很低。此外,由于我已经通过此查询获取了所需的所有内容,因此我正在寻找解决方案,或者通过修改查询,或者在前端说 PHP/JSP 来格式化查询结果,因为我希望它显示。

附注为小图片道歉。如果在新选项卡中打开,它会大得多。

最佳答案

您的查询是由您正在使用的 Liferay 生成的,它非常奇怪。但它似乎确实是正确的。希望所有这些奇怪的 OR '' IS NULL 子句不会破坏性能。

您似乎正在处理 biobankattributellists 表中的名称/值模式。

这里的问题是格式化结果集以供显示的问题之一。正如您所指出的,您需要的所有信息都在结果集中。您需要做的是,用您的主机语言(Java?php?我们无法从您的问题中看出)读取结果集并构建您的输出。

如果您可以修改查询,我建议您将此 ORDER BY 子句添加到其末尾。

ORDER BY organization_.name, 
biobankattributelists.attributeListName,
biobankattributelists.attributeListValue

您希望这样做,以便结果集的行将按照构建输出所需的顺序显示。

然后您想要在您的主机程序中实现报告编写人员所说的控制中断逻辑。也就是说,每次列的值相对于之前的值发生变化时,您都希望执行一些特殊操作。例如,每次组织名称更改时,您希望显示新的组织名称。

恕我直言,教你这样做超出了SO答案的范围。

关于java - 设置查询获取的结果的格式以供显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27062661/

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