запрос возвращает отличные результаты, когда invstorelocation
. Description
AS Адреса, не включенные в запросе вместе с присоединитьсявыборка данных из разных таблиц на основе разных объединений в одном запросе
INNER JOIN
`invstorelocation`
ON (`invlabtes`.`StockLocCode` = `invstorelocation`.`Code`)
Но когда я включаю это соединение в запросе таблица возвращает пустой, даже если все условия будут полностью соблюдены. Plz упоминает альтернативу выборке записи местоположения наряду с другими записями.
SELECT
`invlabtes`.`CommAppCode` ,
`invlabtes`.`Code` ,
`invlabtes`.`GatePassNO` ,
`invlabtes`.`VehicleNo` ,
`invlabtes`.`SupplierCode` ,
`invstorelocation`.`Description` AS Location ,
`invstore`.`Description` AS MaterialName
FROM
`invlabtes`
INNER JOIN
`invstorelocation`
ON (`invlabtes`.`StockLocCode` = `invstorelocation`.`Code`)
INNER JOIN
`invgatepass`
ON (`invlabtes`.`GatePassNO` = `invgatepass`.`InwardNo`) AND (`invlabtes`.`GatePassDate` = `invgatepass`.`EntryDate`) AND (`invlabtes`.`VehicleNo` = `invgatepass`.`VehicleNo`)
INNER JOIN
`invgatepasssubtable`
ON (`invlabtes`.`GatePassNO` = `invgatepasssubtable`.`InwardNo`) AND (`invlabtes`.`ItemCode` = `invgatepasssubtable`.`ItemCode`)
INNER JOIN
`invstore`
ON (`invgatepass`.`StoreCode` = `invstore`.`Code`)
WHERE (`invlabtes`.`Code` LIKE '%%' OR `invlabtes`.`CommAppCode` LIKE '%%' OR `invlabtes`.`GatePassNO` LIKE '%%' OR `invlabtes`.`VehicleNo` LIKE '%%' OR `invlabtes`.`SupplierCode` LIKE '%%') AND `invlabtes`.`CommAppCode`<>'' AND `invlabtes`.`Unit_Code`='1' LIMIT 100;
Этот запрос успешно возвращает данные. Вышеупомянутый запрос имеет проблему.
Вы уверены, что вы знаете, что этот запрос должен делать? – asprin
да этот запрос извлекает данные из таблицы invlabtes и invstore table на основе соответствия записей в таблице invgatepass и invgatepasssubtable. Я также хочу получить соответствующее описание местоположения из таблицы invstorelocation. –
. Нам действительно нечего исследовать, не имея ваших данных. Извините, но если вы не получаете никаких строк, то ясно, что все условия *** не полностью выполнены. БД не просто отказываются отображать данные. Условия включают условия соединения, и единственный способ понять это - это разобраться и выяснить, почему условия не выполняются при добавлении соединения. Это может быть проще сделать, изменив это соединение, из-за чего он не сможет подключиться к внешнему соединению и посмотреть на записи. – David