Sql server 2012 具有Group By的列名称不明确

Sql server 2012 具有Group By的列名称不明确,sql-server-2012,group-by,ambiguous,Sql Server 2012,Group By,Ambiguous,对于下面的查询,我有不明确的列名“Item”错误。但是,我已经输入了所需的格式,因为参数位于列的开头 SELECT [Country Code], Item, [FE SSO], [Newest Job Number], [Newest Transaction Date], Z.ConsignDate AS [ConsignDate],

对于下面的查询,我有
不明确的列名“Item”
错误。但是,我已经输入了所需的格式,因为参数位于列的开头

        SELECT  
          [Country Code],
          Item, 
          [FE SSO], 
          [Newest Job Number],
          [Newest Transaction Date],
          Z.ConsignDate AS [ConsignDate],
        FROM DailyOnhand

        LEFT JOIN 
            (SELECT 
              [Job Number], 
              [Item],
              Min([Transaction Day]) AS ConsignDate
            FROM vwAllTxns
            GROUP BY [Job Number], [Item]) Z 
                  ON vwDailyOnhand_v2.[Newest Job Number] = Z.[Job Number] 
                     AND vwDailyOnhand_v2.[Item] = Z.[Item]
感谢您的帮助。
谢谢大家!

您需要在
选择中的
项目
前面加上该项目来源表的名称/别名

SELECT  
      d.[Country Code],
      d.Item, 
      d.[FE SSO], 
      d.[Newest Job Number],
      d.[Newest Transaction Date],
      Z.ConsignDate AS [ConsignDate],
    FROM DailyOnHand d
      LEFT JOIN 
        (SELECT 
          v.[Job Number], 
          v.[Item],
          Min(v.[Transaction Day]) AS ConsignDate
        FROM vwAllTxns v
        GROUP BY v.[Job Number], v.[Item]
        ) Z 
              ON d.[Newest Job Number] = Z.[Job Number] 
                 AND d.[Item] = Z.[Item]

您的
from
指定了
dailonhand
,但您的
on
指定了
vwdailonhand\u v2
,我删除了后者并使用了一个别名。

两个表中可能都有一个item列,因此需要事先指定它。此外,子查询也不需要,您可以在分区上使用MIN()。。用一个简单的连接
    SELECT  
      [Country Code],
      Z.[Item], -- Need to specify which item is source 
      [FE SSO], 
      [Newest Job Number],
      [Newest Transaction Date],
      Z.ConsignDate AS [ConsignDate],
    FROM DailyOnhand

    LEFT JOIN 
        (SELECT 
          [Job Number], 
          [Item],
          Min([Transaction Day]) AS ConsignDate
        FROM vwAllTxns
        GROUP BY [Job Number], [Item]) Z 
              ON vwDailyOnhand_v2.[Newest Job Number] = Z.[Job Number] 
                 AND vwDailyOnhand_v2.[Item] = Z.[Item]