次のコードがあります。そのまま実行すると、必要なデータが返されます。
select tagid,
(select TOP 1 Locations.CostCenter
from item
inner join transactions on transactions.itemid = item.id
inner join recvlocationmapping on recvlocationid = transactions.locationid
left outer join locations on locations.id = servicelocationid
where tagid = c.TagID
and costcenter != ''
and Costcenter is not null
order by transdate desc) as CostCenter
from item as c where createddate between '07-01-2012' and '07-05-2012'
問題は、列の 1 つに group by を追加したいときに発生します。次に、列が存在しないというエラーがスローされますが、グループ化なしでクエリを実行すると、列と名前が存在します。
私が問題を抱えているコードによるグループは次のとおりです。
select Count(tagid),
(select TOP 1 Locations.CostCenter
from item
inner join transactions on transactions.itemid = item.id
inner join recvlocationmapping on recvlocationid = transactions.locationid
left outer join locations on locations.id = servicelocationid
where tagid = c.TagID
and costcenter != ''
and Costcenter is not null
order by transdate desc) as CostCenter
from item as c where createddate between '07-01-2012' and '07-05-2012'
group by CostCenter
データを返す方法に問題があると思いますが、それを修正する方法を理解するのに十分な SQL の知識がありません。