我把语句整理了一下,没有仔细看,这么多left join却没有isnull,你的与法挺怪的 SELECT Item.strItemCode, Position.strPositionName, Custom0.strCustomName, Custom1.strCustomName, Custom2.strCustomName, Custom3.strCustomName, Sum(positionbalance.dblEndStockQuantity/maxitemunit.dblfactorofmax) AS num FROM (maxitemunit INNER JOIN (((((PositionBalance LEFT JOIN Item ON PositionBalance.lngItemID = Item.lngItemID) LEFT JOIN Custom0 ON PositionBalance.lngCustomID0 = Custom0.lngCustomID) LEFT JOIN Custom1 ON PositionBalance.lngCustomID1 = Custom1.lngCustomID) LEFT JOIN Custom2 ON PositionBalance.lngCustomID2 = Custom2.lngCustomID) LEFT JOIN Custom3 ON PositionBalance.lngCustomID3 = Custom3.lngCustomID) ON maxitemunit.lngItemID = PositionBalance.lngItemID) LEFT JOIN Position ON PositionBalance.lngPositionID = Position.lngPositionID GROUP BY Item.strItemCode, Position.strPositionName, Custom0.strCustomName, Custom1.strCustomName, Custom2.strCustomName, Custom3.strCustomName
这个问题应该留给.....Microsoft
SELECT Item.strItemCode, Position.strPositionName, Custom0.strCustomName, Custom1.strCustomName, Custom2.strCustomName, Custom3.strCustomName, Sum(positionbalance.dblEndStockQuantity/maxitemunit.dblfactorofmax) AS num
FROM (maxitemunit
INNER JOIN (((((PositionBalance
LEFT JOIN Item ON PositionBalance.lngItemID = Item.lngItemID)
LEFT JOIN Custom0 ON PositionBalance.lngCustomID0 = Custom0.lngCustomID)
LEFT JOIN Custom1 ON PositionBalance.lngCustomID1 = Custom1.lngCustomID)
LEFT JOIN Custom2 ON PositionBalance.lngCustomID2 = Custom2.lngCustomID)
LEFT JOIN Custom3 ON PositionBalance.lngCustomID3 = Custom3.lngCustomID) ON maxitemunit.lngItemID = PositionBalance.lngItemID)
LEFT JOIN Position ON PositionBalance.lngPositionID = Position.lngPositionID
GROUP BY Item.strItemCode, Position.strPositionName, Custom0.strCustomName, Custom1.strCustomName, Custom2.strCustomName, Custom3.strCustomName
或许作成一个查询,再由VB调用?????