【发布时间】:2016-01-06 09:52:09
【问题描述】:
我正在尝试从一个表中选择所有地址 ID,并从其他表中加入属性。我需要通过 entity_id 连接表 A 和 C 上的值,但是由于表具有相同的键“值”,因此第二个连接正在替换第一个连接的值。
我在这里做错了什么?
$query = "SELECT
A.parent_id,
B.value,
C.value
FROM customer_address_entity AS A
LEFT JOIN customer_address_entity_varchar AS B
ON A.entity_id = B.entity_id
LEFT JOIN customer_address_entity_text AS C
ON A.entity_id = C.entity_id
LIMIT 100";
var_dump($query);
但我得到一个 4 的数组。A.value 被 C.value 覆盖
array (size=4)
'parent_id' => string '7' (length=1)
'entity_id' => string '6' (length=1)
'value' => string '19 STANDIFORD CT' (length=16)
'attribute_id' => string '25' (length=2)
【问题讨论】:
-
“第二个连接正在替换第一个连接的值”是什么意思?
-
我的意思是我应该有一个 5 而不是 4 的数组,但是因为我从表中选择 ab.value 和 ac.value 我只能在数组中得到一个键“值”,这是有道理的,因为数组中只能有一个唯一键,但是如何更改每个键的名称或获取数据?
-
好的,我明白了。能否提供获取查询结果的代码?