Я практически не практикуюсь с MySQL и PHP, но у меня есть проект, над которым я работаю для друга, который включает выбор данных из двух таблиц и объединение их в один результат - кажется простым.
Таблица 1 имеет 13 полей, но важными являются id (автоинкремент, первичный ключ) и serial (уникально). Остальные просто такие, как клиент , описание и т. Д. И т. Д.
Изображения имеет 3 поля, picID (автоинкремент, первичный ключ), imagePath и серийный
Мне нужно получить все данные из Таблицы 1, и если в Фото есть соответствующая фотография (идентифицируемая тем же серийным номером - возможна только одна фотография, возможная для каждого серийного номера), затем также получить эти данные. Затем я вывожу данные из таблицы Table1 и использую imagePath из Pictures для построения изображения в HTML, если оно было загружено.
Я использовал следующий запрос:
$sql = "SELECT * FROM Table1 LEFT JOIN Pictures ON Table1.serial = Pictures.serial ORDER BY Table1.serial";
Что кажется идеальным, ЗА ИСКЛЮЧЕНИЕМ, если в какой-либо строке из Table1 нет совпадения фотографий в Pictures , serial больше не возвращается с остальными данные, хотя в остальной части строки все верно.
Я рассмотрел различные типы JOIN, и нужен ли мне просто UNION, но я немного озадачен. Как запросить, чтобы каждая строка таблицы Table1 plus Pictures.imagePath была добавлена в соответствующую строку Table1, если она существует?
Спасибо за ваше время !!!! :)
РЕДАКТИРОВАТЬ с выводом дампа массива
Array
(
[0] => Array
(
[id] => 51
[0] => 51
[client] => Test Client
[1] => Test Client
[location] => Ayreford House
[2] => Ayreford House
[description] => Ceiling cavity of building XYZ
[3] => Ceiling cavity of building XYZ
[serial] =>
[4] => 18001
[blah] => 123456
[5] => 123456
[fw] => Wall
[6] => Wall
[pm] => Plasterboard
[7] => Plasterboard
[stuff] => ventilation ducting
[8] => ventilation ducting
[ref] => S1000-2018
[9] => S1000-2018
[otheref] => XTX-1325
[10] => XTX-1325
[notes] => Updated photo
[11] => Updated photo
[date] => 2018-06-28 21:37:49
[12] => 2018-06-28 21:37:49
[picID] =>
[13] =>
[imagePath] =>
[14] =>
[15] =>
)