gpt4 book ai didi

php - 一个mysql中的多个查询(是否使用数据表)

转载 作者:太空宇宙 更新时间:2023-11-03 11:27:46 25 4
gpt4 key购买 nike

在我的数据库中我有 4 个表:

主表:

P(T_P, T, P, title)

还有另外 2 个表与 T_P 的链接:

E(T_P, EE, AA, BB)
G(T_P, CC, DD, EE)

还有一个表 D,带有一个 TYPE 参数。

在我的结果中,我想要基于 3 类型的 3 列。

为了显示,我使用带有服务器端处理的数据表,因为 P 表有 500.000 行。

实际上,在没有数据表的情况下,我使用了4 不同的查询:

  • 一个用于获取表 P、表 D 和表 E 参数。
  • 一个用于获取类型 A 的表 D
  • 一个用于获取类型为 B 的表 D 和
  • 一个用于获取类型为 C 的表 D。

这些很好用,但我需要使用数据表。

不知道我说的够不够清楚,所以我画了一个小示意图。

All examples

最佳答案

这应该能让您接近您的需要。我能问一下您为什么不对表/列使用冗长的名称吗?你只是在让自己的生活,以及接下来接手这个项目的人的生活变得更加艰难。

SELECT tP.T_P,
tP.T,
tP.P,
tP.Title,
tE.EE,
tG.CC,
tDa.X AS A,
tDb.X AS B,
tDc.X AS C
FROM P AS tP
LEFT JOIN E AS tE ON tP.T_P = tE.T_P
LEFT JOIN G AS tG ON tP.T_P = tG.T_P
LEFT JOIN D AS tDa ON tP.T = tDa.T AND tP.P = tDa.P AND tDa.Type = 'A'
LEFT JOIN D AS tDb ON tP.T = tDb.T AND tP.P = tDb.P AND tDb.Type = 'B'
LEFT JOIN D AS tDc ON tP.T = tDc.T AND tP.P = tDc.P AND tDc.Type = 'C'

enter image description here

关于php - 一个mysql中的多个查询(是否使用数据表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52855907/

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