SQL表自定义创建
我需要一个以下格式的查询SQL表自定义创建,sql,sql-server,Sql,Sql Server,我需要一个以下格式的查询 Country Asset Stock ------------------------ INDIA 110 20 USA 230 27 CHINA 210 10 GERMAY 120 18 只有数字来自数据库,下面是数字的计数部分。对于国家和地区,计数查询是不同的&我想手动使用国家名称和标题,如下所示,计数应该来自查询。(不确定下面的查询是否正确) 查询计
Country Asset Stock
------------------------
INDIA 110 20
USA 230 27
CHINA 210 10
GERMAY 120 18
只有数字来自数据库,下面是数字的计数部分。对于国家和地区,计数查询是不同的&我想手动使用国家名称和标题,如下所示,计数应该来自查询。(不确定下面的查询是否正确)
查询计数
Count(tblAssets.AssetID)
From tblAssets
Inner Join tsysOS On tsysOS.OScode = tblAssets.OScode
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
Where tblAssetCustom.State = 1 And tblAssetCustom.Customvr = 'INDIA'
注意:我没有前端应用程序的写入权限来创建临时表。我只能查询可用的数据
请帮忙
select tblAssetCustom.Custom18 as [country],
count(CounttblAssets.AssetID) as [asset]
,Count(tblAssets.AssetID) as [stock]
--Count(tblAssets.AssetID)
From tblAssets
Inner Join tsysOS On tsysOS.OScode = tblAssets.OScode
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
Where tblAssetCustom.State = 1 And tblAssetCustom.Custom18 in (
'INDIA' --110 20
, 'USA' --230 27
, 'CHINA' --210 10
, 'GERMAY' --120 18
)
group by tblAssetCustom.Custom18
我不知道你的限制在哪里。似乎tblAssetCustom.Customer具有您需要的国家/地区字符串。所以,若要筛选国家,必须选择语句并使用GROUPBY。
还建议使用别名以提高可读性
Inner Join tsysOS On tsysOS.OScode = tblAssets.OScode
变成:
Inner Join tsysOS OS On OS.OScode = A.OScode
另外,如果您可以进行自己的查询,但country不在表中,请创建一个派生表并连接到
select 'BLAHBLAHBLAH', count(blah)
from tblAssetCustom ac join (select 'INDIA' as Country, 1 as AssetId UNION ALL Select 'USA', 2) as MyList
on ac.AssetId = MyList.AssetId
首先,请标记正确的数据库名称。第二,plesae用于创建所有表和一些示例数据,以及基于这些数据的输出。那么您使用的是MySql、Sql Server还是Oracle数据库?我使用的是Sql Server Hi Utsav-数据库已在前端应用程序中标记,我不想创建表。。。正如我在问题中提到的,只需要通过查询获得一个表视图,您的查询应该使用聚合。您需要提供完整答案的表架构。谢谢,我们将尝试此选项
select 'BLAHBLAHBLAH', count(blah)
from tblAssetCustom ac join (select 'INDIA' as Country, 1 as AssetId UNION ALL Select 'USA', 2) as MyList
on ac.AssetId = MyList.AssetId