gpt4 book ai didi

php - 是否有可以完全以这种方式编码为 JSON 的 MySQL 查询?

转载 作者:行者123 更新时间:2023-11-29 02:53:41 25 4
gpt4 key购买 nike

我有 2 个表,例如

                    work_assets
-----------------------------------------------------
id | asseturl | previmgurl | carid
-----------------------------------------------------
1 | "pic1.jpg" | "pic2.jpg" | 1
2 | "pic3.jpg" | "pic4.jpg" | 1
3 | "pic5.jpg" | "pic6.jpg" | 2
. | ... | ... | .
. | ... | ... | .


cases
-----------------------------------------------------
id | ... | carid | ...
-----------------------------------------------------
1 | ... | 1 | ...
2 | ... | 2 | ...
3 | ... | 69 | ...
. | ... | ... | ...
. | ... | ... | ...

我希望我可以执行某种类型的查询Q,它可以让我得到 JSON,它基本上是具有一对多关系的 cases 表从它的 carid 列到关联的 asseturlprevimgurl,比如

[
{ id : 1, ..., assetinfo: [ { asseturl : "pic1.jpg", previmgurl: "pic2.jpg"}, { asseturl : "pic3.jpg", previmgurl: "pic4.jpg"} ], ... },
{ id : 2, ... },
{ id: 3, ... },
.
.
.
]

设置:

var cases =  <?php
$Q = ????;
echo json_encode($wpdb->get_results($Q));
?>

这可能吗?

最佳答案

恕我直言,你真的不需要在 mysql 端做那个 json 转换,因为它不是很有效而且几乎没有意义。

但只是为了证明这是可能的(与@bannmatt 的观点相反)这是我的方法:

http://sqlfiddle.com/#!9/6bffb/7

SELECT c.*,
CONCAT('assetinfo : [ ',
COALESCE(
GROUP_CONCAT( CONCAT("{ asseturl: ",
wa.asseturl,
', previmgurl: ',
wa.previmgurl," }")
),
''),
' ]')
FROM cases c
LEFT JOIN work_assets wa
ON c.carid = wa.carid
GROUP BY c.id

关于php - 是否有可以完全以这种方式编码为 JSON 的 MySQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32955587/

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