【发布时间】:2018-08-24 19:50:22
【问题描述】:
我有一个表clients,列有id、name、company。
表格agreements 与列id、client_id、number、created_at。
一对多的关系。
我的查询:
SELECT
a.name,
a.company,
b.number,
b.created_at
FROM clients a
JOIN agreements b
ON b.client_id = a.id
WHERE a.id = '{$clientId}'
我有结果:
array(2) {
[0]=>
array(4) {
["name"]=>
string(10) "Alton Wood"
["company"]=>
string(10) "My company"
["number"]=>
string(10) "5435635678"
["created_at"]=>
string(10) "2018-08-11"
}
[1]=>
array(4) {
["name"]=>
string(10) "Alton Wood"
["company"]=>
string(10) "My company"
["number"]=>
string(10) "1234545546"
["created_at"]=>
string(10) "2018-08-16"
}
}
如何更改查询以获得输出?
array(1) {
[0]=>
array(3) {
["name"]=>
string(10) "Alton Wood"
["company"]=>
string(10) "My company"
["agreements"]=>
array(2) {
[0]=>
["number"]=>
string(10) "5435635678"
["created_at"]=>
string(10) "2018-08-11"
}
[1]=>
["number"]=>
string(10) "1234545546"
["created_at"]=>
string(10) "2018-08-16"
}
}
}
}
}
}
【问题讨论】:
-
MySql 和其他风格的 SQL 返回数据表,如果您想以嵌套方式表示它,那么您可以在应用程序中进行项目。
-
我认为有必要以某种方式使用
GROUP BY,但我不知道如何 -
这是一个 PHP/PDO 相关的问题。
-
如果您有外键,您可能需要执行子查询来获取基于外键的
agreements表。 -
您的查询不应与 created_at 后的“,”一起使用
标签: mysql