Я немного поиграл и попытался найти решение, но немного застрял.
У меня есть таблица «собраний» с 2 столбцами, содержащая идентификатор «участников», которые мне нужны, чтобы сведения об участниках отображались в моем списке собраний.
Я пробовал это, но это не работает ...
$q = "SELECT (meetings.id) AS meetings_id, meetings.columnA, meetings.ColumnB, (members.id) AS members_id, members.first, members.last FROM meetings **LEFT JOIN members ON meetings.columnA = members.id AND meetings.columnB = members.id**";
$r = mysqli_query($dbc, $q);
while($row = mysqli_fetch_assoc($r)) { }
Я могу заставить его работать, только если я присоединяюсь только к одному значению, или 'columnA' или columnB ', но это, очевидно, только извлекало данные для одного члена.
Хотя этот способ работает, но не идеален ...
$q = "SELECT * FROM meetings";
$r = mysqli_query($dbc, $q);
while($row = mysqli_fetch_assoc($r)) {
$qm = "SELECT * FROM members WHERE id = '$row[columnA]'";
$rm = mysqli_query($dbc, $qm);
while($rowm = mysqli_fetch_assoc($rm)) {
if ($row['columnA'] == $rowm['id']) { echo $rowm['first']; }
}
$qm = "SELECT * FROM members WHERE id = '$row[columnB]'";
$rm = mysqli_query($dbc, $qm);
while($rowm = mysqli_fetch_assoc($rm)) {
if ($row['columnB'] == $rowm['id']) { echo $rowm['first']; }
}
}
Есть ли способ заставить JOIN работать или лучше, так что мне просто нужно сделать один запрос?
Спасибо.