gpt4 book ai didi

php - mySQL select with PHP - left join

转载 作者:行者123 更新时间:2023-11-29 00:19:15 25 4
gpt4 key购买 nike

我有两个表“all”和“jdetails”。我在所有有效的表上都有一个现有的选择查询。如果可用,我想从 jdetails 表中添加一些额外的数据。

所有表:

judge, year, ...

jane doe, 2012

john doe, 2011

jdetails 表:

name, designation,...

jane doe, level 1

jane doe, level 5

john doe, special

我如何更改下面的查询以包括每个法官(全部)的“指定”(来自 jdetails)?

我认为左连接是解决方案,但我需要考虑 where 子句。此外,我绝对必须在下面获得此查询的结果,但如果存在,则添加来自 jdetails 表的数据。

此外,每个 all.judge 可以有多行 (jdetails.name) 名称,我希望将其列为单个值。例如——jane doe 的指定值为“1 级 5 级”。

我会加入 all.judge=jdetails.name

当前查询:

$rows = $my->get_row("SELECT all.judge, `year`, `totlevel_avg`, `totlevel_count`,   `genrank`, `poprank`, `tlevel_avg`, `tlevel_count`, `1level_avg` as `onelevel_avg`, `1level_count` as `onelevel_count`, `2level_avg` as `twolevel_avg`, `2level_count` as `twolevel_count`, `3level_avg` as `threelevel_avg`, `3level_count` as `threelevel_count`, `4level_avg` as `fourlevel_avg`, `4level_count` as `fourlevel_count`, `PSGlevel_avg`, `PSGlevel_count`, `I1level_avg`, `I1level_count`, `I2level_avg`, `I2level_count`, `GPlevel_avg`, `GPlevel_count`, `states` from `all` where `id` ='{$term}'");

非常感谢任何帮助。

最佳答案

我没有包括您在 SELECT 语句中的所有内容,我只是用 ams.* 对其进行了总结。但是以下将 all 表链接到 jdetails 表,然后将指定分组到一个字段中。然后我将结果包装在一个外部查询中,该查询将您需要的其余字段提取到 all 表 ( SQL Fiddle ) 中:

SELECT ams.*, am.Desigs
FROM
(
SELECT a.judge, GROUP_CONCAT(j.designation SEPARATOR ', ') AS Desigs
FROM `all` AS a
INNER JOIN jdetails AS j ON a.judge = j.name
GROUP BY a.judge
) AS am
INNER JOIN `all` AS ams ON am.judge = ams.judge

关于php - mySQL select with PHP - left join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21738863/

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