json mysql php_PHP MySQL连接表作为JSON
参见英文答案 > How create json format with group-concat mysql? 6个
我有两个不同的表 – 一个称为“产品”,其中包含有关在线商店的产品信息,另一个称为“图像”,其中包含相应的产品图像(每个产品有几个图像).
我想在主表“products”上加入表“images”,并以JSON格式输出结果.
表“产品”如下所示(简化):
id | name
----|--------
57 | apple
58 | tomato
59 | ...
并且产品图像的表格“图像”:
img_id | img | p_id | listorder
-------|-------------|------|----------
32 | apple1.jpg | 57 | 1
33 | apple2.jpg | 57 | 2
34 | tomato1.jpg | 58 | 1
35 | ... | ... | ...
到现在为止,我的查询是这样的:
$sql = "SELECT
p.id as p_id,
p.name as p_name,
i.*
FROM products p
JOIN (SELECT * FROM images WHERE listorder=1)
AS i ON (i.p_id = p.id)";
因此输出(在将数据提取到数组并转换为JSON之后)看起来像这样:
[{
"id": "57",
"name": "apple",
"img": "apple1.jpg"
}, {
"id": "58",
"name": "tomato",
"img": "tomato1.jpg"
}]
所以我的问题是:我如何输出以下内容?
[{
"id": "57",
"name": "apple",
"img": [{"img_id": "32","img": "apple1.jpg"}, {"img_id": "33","img": "apple2.jpg"}]
}, {
"id": "58",
"name": "tomato",
"img": [{"img_id": "34","img": "tomato1.jpg"}]
}]
解决方法:
SELECT
p.id as p_id,
p.name as p_name,
group_concat(concat('{"img_id":"',i.img_id,'"img":"',i.img,'"}') separator ',') as img
FROM products p
JOIN (SELECT * FROM images WHERE listorder=1)
AS i ON (i.p_id = p.id)
GROUP BY p.id,p.name
标签:json,php,mysql
来源: https://codeday.me/bug/20190710/1429180.html
json mysql php_PHP MySQL连接表作为JSON相关推荐
- Spark SQL与外部数据源的操作(Spark SQL ——> CSV/JSON/Parquet/hive/mysql)
目录 一.Spark SQL支持的外部数据源 二.Spark SQL -> CSV 2.1 读CSV文件 a.有列名 b.无列名 2.2 写CSV文件 三.Spark SQL -> JSO ...
- mysql与redis数据同步(c/c++)(写mysql同步到redis,并且以json格式保存)
系统开发中时常会需要缓存来提升并发读的能力,这时可以通过mysql的UDF和hiredis来进行同步 原理: 通过mysql自动同步redis 在服务端开发过程中,一般会使用MySQL等关系型数据库作 ...
- mysql json_set多维_mysql之json高级使用
前言 JSON是一种轻量级的数据交换格式,采用了独立于语言的文本格式,类似XML,但是比XML简单,易读并且易编写.对机器来说易于解析和生成,并且会减少网络带宽的传输. JSON的格式非常简单:名称/ ...
- mysql数据库生成json_Python3实现 将MySQL数据库中的记录生成JSON数据
思路:首先连接MYSQL数据库,将查询到的数据存放到字典中,然年将每个组装好的字典放到List中 调用json.dumps(jsonData, ensure_ascii=False)方法,生成JSON ...
- mysql json invalid json text_MySQL 5.7新增加的json数据类型
MySQL 5.7中有json存储类型了以前我们只能通过php来进行序列化了不过现在就不需要了我们可以直接使用MySQL 5.7的json数据类型来存储json格式数据了,具体来看介绍. 在MySQL ...
- mysql json坑_使用mysql innodb 使用5.7的json类型遇到的坑和解决办法
---------------------------------------------- #查询JSON的某个字段 select data -> '$.Host' from temp #创建 ...
- mysql查询转json数据库_json格式数据,将数据库中查询的结果转换为json, 然后调用接口的方式返回json(方式一)...
调用接口,无非也就是打开链接 读取流 将结果以流的形式输出 将查询结果以json返回,无非就是将查询到的结果转换成jsonObject ================================ ...
- mysql操作json优点和缺点_MYSQL 5.7中的本机JSON支持:MYSQL中JSON数据类型的优缺点是什么?...
在MySQL 5.7中,新的数据类型用于在JSON表中存储JSON数据. 添加. 显然,这将是MySQL的巨大变化. 他们列出了一些好处 Document Validation - Only vali ...
- mysql 左连接 去重复,MySQL删除左连接,3个表上的重复列
我有三个表,每个表都有一个外键.当我执行连接时,我得到重复的列. 特定 mysql> describe Family; +---------------+-------------+------ ...
- 读取mysql数据库的数据,转为json格式
# coding=utf-8 ''' Created on 2016-10-26 @author: Jennifer Project:读取mysql数据库的数据,转为json格式 ''' import ...
最新文章
- 渔村小厂,如何成长为5G霸王?
- 代码审计之CVE-2018-7600-Drupal远程代码执行漏洞-Render API
- 非阻塞,send后马上close消息能成功发出去吗
- leetcode 95. Unique Binary Search Trees II | 96. Unique Binary Search Trees
- ZOJ2724_Windows Message Queue(STL/优先队列)
- HttpClient上传下载文件
- hdu5354 Bipartite Graph
- 博文视点大讲堂41期-SEO难点之网站内部链接结构
- 去除DataTable重复数据的三种方法(转)
- 手把手教做无人驾驶算法(二十六)--基于终端约束的MPC 控制
- 生成小程序支付签名paysign
- 什么是点对点?什么去中心化?
- tp路由服务器无响应,路由器无法PPPOE链接上网老显示服务器无响应
- Android实现淘宝、京东首页浏览效果
- mongodb 聚合函数求平均值及时差处理
- SkinH皮肤使用教程,及皮肤效果测试工具
- 苹果开发者:如何将准备好的应用上传到iTunes Connect
- 人脸识别广告显示屏通过人像识别、面部识别应用
- 怎样在Windows下挂载ESP分区
- 计算机音乐念诗之王,小可儿《念诗之王》[FLAC/MP3-320K]