我有以下 SQL:
$queryString = "
SELECT
c.id,
c.object,
c.ref,
c.title,
o.value
FROM
organisations c
INNER JOIN
organisationType oT ON
oT.ref = c.ref
INNER JOIN
options o ON
oT.value = o.ref
WHERE c.ref = '585567'
ORDER BY
title
";
- 我的组织表包含有关组织的信息(以下是一个组织)
id、dateModified、object、ref、title
2312, 2013-04-22 17:34:55, {"__attributes":{"item_id":6868447,"external_id":..., 585567, 测试机构
- 我的 organizationType 表包含一个组织的多个条目,因为一个组织可以是多种不同的类型。(以下是分配给上述组织的2种)
id、dateModified、relativeTable、ref、值
5, 2013-04-22 17:34:55, 组织, 585567, 3
6, 2013-04-22 17:34:55, 组织, 585567, 2
- 最后,我的选项表包含可供参考的每种类型的一行:
id、dateModified、relativeTable、ref、值
1, 2013-04-22 16:36:59, 组织, 2, 客户
2, 2013-04-22 16:36:59, 组织, 3, 合伙人
3, 2013-04-22 16:38:27, 组织, 4, 供应商
我希望能够返回一个组织,其类型嵌入到末尾(o.value)
所以我的结果可能是:
[1] => stdClass Object
(
[id] => 2312
[object] => ""
[ref] => "585567"
[title] => "Test organisation"
[type] => array( [0] => "Client", [1] => "Vendor" )
)
使用我当前的 SQL,我将返回一个包含 2 行的数组,其中包含该行的所有组件的副本,除了已更改的类型。这很好,但并不完美。