2013-11-16 3 views
0

Что такое проблема в этом соединении ??? консоль говорит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='*****' 

Если я заменю Full присоединиться внутреннее соединение, то этот запрос возвращает запись.

Все, что я хочу, чтобы получить данные из таблицы invlabtes на основе invlabtes.Code, даже если условие соединения терпит неудачу и invgatepass не имеет соответствия builtySupp

+0

Уххх .. делает таблица 'invlabtes' существует в вашем db? Может быть, с ошибкой или вы, возможно, выбрали/настроили неправильный db? Локальный или удаленный, возможно, вы забыли добавить таблицу в удаленный db .. –

ответ

1

Mysql не поддерживает FULL ключевое слово и превращает его в таблицу псевдонимов. Таким образом, таблица invlabtes теперь называется FULL.

0

Если вы хотите, чтобы вернуть данные из таблицы всегда 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='*****' 
Смежные вопросы