Всякий раз, когда я запускаю этот фрагмент кода, я получаю только значения от test2
из-за того, что столбцы являются одинаковыми.PHP Mysqli fetch_assoc() по связанным запросам
$Return = array();
$Output = $MySQLi->query("SELECT * FROM test1 as A LEFT JOIN test2 as B ON A.abc=B.abc");
while($Row = $Output->fetch_assoc()) {
$Return[] = $Row;
}
var_dump($Return);
Это то, что я получаю.
array(1) { [0]=> array(2) { ["abc"]=> string(1) "2" [123]=> string(1) "3" } }
Есть ли способ сделать fetch_assoc() вернуть что-то вроде этого?
array(1) { [0]=> array(2) { ["A.abc"]=> string(1) "7" [A.123]=> string(1) "8" ["B.abc"]=> string(1) "2" [B.123]=> string(1) "3" } }
Вам нужно создать псевдоним каждого столбца таблицы test1 и test2 – Saty
@Saty есть ли способ избежать этого? потому что фактические таблицы, с которыми я работаю, невелики, и в некоторых случаях я присоединяюсь к 4 за раз. –
Используйте «SELECT A. *, B. * FROM test1 как LEFT JOIN test2 как B ON A.abc = B.abc« – RJParikh