当invstorelocation
时查询返回完美结果。 Description
不如地利,不包括在查询随着加入根据单个查询中的不同连接从不同表中获取数据
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
yes此查询是根据invgatepass表和invgatepasssubtable中的匹配条目从invlabtes表和invstore表中提取数据。我也想从invstorelocation表中获取相应的位置描述 –
如果没有你的数据,我们真的没有办法进行调查。我很抱歉,但如果你没有排队,那么显然所有的条件都没有完全满足。数据库不只是拒绝显示数据。条件包括连接的条件,唯一的解决方法是深入挖掘并找出添加连接时不满足条件的原因。通过改变导致它无法加入外连接并查看记录的联接可能会更容易。 – David