gpt4 book ai didi

mysql - 行值在 MySQL 中应该是一个一个的

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

我被困在 MySQL 的一个特定点上。我有三个表,每个表都有外键关系。 TitleOrder表的三个字段是gt1、gt2和gt3,分别表示Percentage表的p1、p2和p3分别。我需要 TitleOrder 和 Percentage 的每个数据都应该以正确的格式一一显示。

我画了一张图片,显示了预期的表格。

注意:三张表的数据是动态的

enter image description here

最佳答案

您正在尝试UNPIVOT 数据。但不幸的是,MySQL 没有任何功能,因此您需要使用 union allunion(取决于您的数据集)查询来复制它。

下面的查询应该适合你。

SELECT 
s.surveyId, s.surveyName, t.gt, t.p
FROM
survey s
JOIN
(SELECT
gt1 AS gt, p1 AS p, t.surveyId
FROM
TitleOrder t JOIN Percentage p on t.titleOrderId = p.titleOrderId

UNION ALL

SELECT
gt2 AS gt, p2 AS p, t.surveyId
FROM
TitleOrder t JOIN Percentage p on t.titleOrderId = p.titleOrderId

UNION ALL

SELECT
gt3 AS gt, p3 AS p, t.surveyId
FROM
TitleOrder t JOIN Percentage p on t.titleOrderId = p.titleOrderId
) t ON t.surveyId = s.surveyId
ORDER BY s.surveyId , t.surveyId;

但您可能希望重新审视您的模式,因为列数更多,联合更多。

关于mysql - 行值在 MySQL 中应该是一个一个的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51474224/

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