0

收到此错误时尝试在其他两个连接表上创建外部连接 - 我只是看不到如何创建两个单独的查询以使其工作。子查询似乎也不起作用,任何帮助表示赞赏。我收到以下查询的错误,谢谢。

SELECT 
    CardHeader.CardID, CardHeader.CardDescription, CardHeader.GloveSize,     
    CardHeader.GloveDescription, CardDetail.Bin, CardDetail.ItemID, Items.ItemDescription, 
    Items.VCatalogID, CardDetail.ChargeCode, CardDetail.Quantity, Items.Cost, CardColors.ColorID
FROM
    ((Items 
INNER JOIN 
    (CardHeader INNER JOIN CardDetail ON CardHeader.CardID = CardDetail.CardID) ON Items.ItemID = CardDetail.ItemID) 
LEFT JOIN 
    CardColors ON CardDetail.ItemID = CardColors.ItemID) 
INNER JOIN 
    Colors ON CardColors.ColorID = Colors.ID
ORDER BY 
    CardHeader.CardID;

我尝试了以下运行但要求以下参数(它不应该)

CardHeader.ID, MainQry.CardID

SELECT 
    MainQry.ID, MainQry.CardDescription, MainQry.GloveSize, 
    MainQry.GloveDescription, MainQry.Bin, MainQry.ItemID,
    MainQry.ItemDescription, MainQry.VCatalogID, MainQry.ChargeCode, 
    MainQry.Quantity, MainQry.Cost, SubQry.ColorID
FROM
    (SELECT 
         CardHeader.ID, CardHeader.CardDescription, CardHeader.GloveSize, 
         CardHeader.GloveDescription, CardDetail.Bin,
         CardDetail.ItemID, Items.ItemDescription, Items.VCatalogID, 
         CardDetail.ChargeCode, CardDetail.Quantity, Items.Cost 
     FROM 
         Items 
     INNER JOIN 
         (CardHeader 
     INNER JOIN 
         CardDetail ON CardHeader.CardID = CardDetail.CardID) ON Items.ItemID = CardDetail.ItemID
    )  AS MainQry 
LEFT JOIN 
    (SELECT 
         CardColors.ItemID, CardColors.ColorID 
     FROM 
         CardColors 
     INNER JOIN 
         Colors ON CardColors.ColorID = Colors.ID) AS SubQry ON MainQry.ItemID = SubQry.ItemID
ORDER BY 
    MainQry.CardID;
4

1 回答 1

1

第二条 SQL 语句可以通过参考第一条语句和错误来更正。错误是两者CardHeader.IDMainQry.CardID提示输入参数,这表明内部语句应包含CardHeader.CardID,而不是CardHeader.ID

于 2012-08-03T13:46:28.530 回答