Я пытаюсь выбрать все идентификаторы адресов из одной таблицы и присоединиться к атрибутам из других таблиц. Мне нужно объединить значения в таблицах A и C с помощью entity_id, однако, поскольку таблицы имеют одно и то же ключевое значение, второе соединение заменяет значение первого.MySQL соединяет таблицы и получает значения, имеющие одно и то же имя ключа
Что я здесь делаю неправильно?
$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)
Что вы подразумеваете под словом «второе соединение заменяет значение первого»? – ForguesR
Я имею в виду, что у меня должен быть массив из 5 не 4, но поскольку я выбираю ab.value и ac.value из таблиц, я получаю только одно ключевое «значение» в массиве, что имеет смысл, потому что может быть только один уникальный ключ в массиве, но как я могу изменить имя ключа для каждого или получить данные? – DOfficial
Хорошо, я вижу. Можете ли вы предоставить код для получения результатов запроса? – ForguesR