SQL присоединяется к путанице
В чем проблема в этом соединении??? Консоль говорит
Error Code: 1051
Unknown table 'invlabtes'
SELECT invlabtes.*, invgatepass.BuiltySupp FROM invlabtes FULL JOIN invgatepass ON(invlabtes.GatePassNO=invgatepass.InwardNo AND invlabtes.GatePassDate=invgatepass.EntryDate AND invlabtes.VehicleNo=invgatepass.VehicleNo) WHERE invlabtes.Code='*****'
Если я заменю Полное соединение внутренним соединением, запрос возвращает запись.
Все, что я хочу, это получить данные из таблицы invlabtes на основе invlabtes.Code, даже если условие соединения не выполняется и invgatepass не имеет соответствующего builtySupp
2 ответа
Mysql не поддерживает FULL
ключевое слово и превращает его в псевдоним таблицы. Таким образом, ваша таблица invlabtes теперь называется FULL.
Если вы хотите всегда возвращать данные из таблицы invlabtes, даже если они не совпадают в invgatepass, попробуйте вместо этого использовать LEFT JOIN, поскольку Mysql не поддерживает полные объединения
SELECT
invlabtes.*, invgatepass.BuiltySupp
FROM
invlabtes LEFT JOIN
invgatepass
ON
invlabtes.GatePassNO=invgatepass.InwardNo
AND
invlabtes.GatePassDate=invgatepass.EntryDate
AND
invlabtes.VehicleNo=invgatepass.VehicleNo
WHERE
invlabtes.Code='*****'