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