求一个简单的 SQL 语句

kingdom_0 2012-07-17 09:43:05
具体表结构:



IDC机柜在IDC机房中;IDC设备在IDC机房中;
IDC主机在IDC设备中;IDC主机和具体的产品相关联(所属产品).
需求:
计算某个产品在不同机房中的具体数据
具体数据包括:IDC主机数;IDC主机所占所有的IDC主机的百分比;占用机柜数;机柜总价;机柜总价+带宽总价;
其中:
机柜总价=机柜数*机柜单价
带宽总价=带宽单价*分配的带宽
...全文
214 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingdom_0 2012-07-17
  • 打赏
  • 举报
回复
IDC主机在IDC设备上:IDC主机表中的DEV_NO字段和IDC设备表中的DEV_NO 关联
IDC设备在IDC机房中:IDC设备表中的IDC_ID字段和IDC机房中的IDC_ID字段关联
IDC机柜在IDC机房中:IDC机柜表中的IDC_ID字段和IDC机房中的IDC_ID字段关联
需求:
计算某个产品在不同机房中的具体数据
具体数据包括:IDC主机数;IDC主机所占所有的IDC主机的百分比;占用机柜数;机柜总价;机柜总价+带宽总价;
其中:
机柜总价=机柜数*机柜单价
带宽总价=带宽单价*分配的带宽
孤独加百列 2012-07-17
  • 打赏
  • 举报
回复
给出测试数据和关联字段说明,图实在看不清。表结构也不给个注释啥的。。。
kingdom_0 2012-07-17
  • 打赏
  • 举报
回复
小F,我直接上SQL 表结构代码,求助!
--小F-- 2012-07-17
  • 打赏
  • 举报
回复
还大一点嘛 太考验眼力了。
kingdom_0 2012-07-17
  • 打赏
  • 举报
回复
/*==============================================================*/
/* Table: HOST IDC主机表 */
/*==============================================================*/
CREATE TABLE HOST (
HOST_ID INT NOT NULL,
HOST_NAME NVARCHAR(100) NULL,
DEV_NO NVARCHAR(200) NULL,
OS_TYPE INT NULL,
HOST_TYPE INT NULL,
MONITOR_STATUS INT NULL,
MONITOR_PORT INT NULL,
MONITOR_TEMPLATE INT NULL,
PROD_ASSIGNED INT NULL,
APP_ASSIGNED INT NULL,
HOST_USE INT NULL,
HOST_STATUS INT NULL,
PROXY_ASSIGNED INT NULL,
[USER] NVARCHAR(100) NULL,
REMARK NVARCHAR(200) NULL,
CONSTRAINT PK_HOST PRIMARY KEY (HOST_ID)
)
go
/*==============================================================*/
/* Table: DEVICE IDC设备表 */
/*==============================================================*/
CREATE TABLE DEVICE (
DEV_NO NVARCHAR(200) NOT NULL,
ASSET_NO NVARCHAR(200) NULL,
DEV_SEQ_NO NVARCHAR(200) NULL,
CONTRACT_NO NVARCHAR(200) NULL,
DEV_MODEL INT NULL,
PRICE FLOAT NULL,
IDC_ID INT NULL,
CABINET_ID INT NULL,
EXPIRED_ON DATETIME NULL,
STATE INT NULL,
DISCARDED_ON DATETIME NULL,
ADD_TIME DATETIME NULL,
REMARK NVARCHAR(200) NULL,
CONSTRAINT PK_DEVICE PRIMARY KEY (DEV_NO)
)
go
/*==============================================================*/
/* Table: IDC IDC机房表 */
/*==============================================================*/
CREATE TABLE IDC (
IDC_ID INT NOT NULL,
NAME NVARCHAR(200) NULL,
LOCATION NVARCHAR(200) NULL,
IDC_TYPE INT NULL,
BANDWIDTH_TYPE INT NULL,
BANDWIDTH_TOTAL INT NULL,
BANDWIDTH_PRICE FLOAT NULL,
CABINET_PRICE FLOAT NULL,
DISCARDED_ON DATETIME NULL,
CONTRACT_NO NVARCHAR(200) NULL,
IDC_STATE INT NULL,
TECH_MAN NVARCHAR(100) NULL,
TECH_MAN_TEL NVARCHAR(100) NULL,
IDC_TEL NVARCHAR(100) NULL,
SP_ID INT NULL,
REMARK NVARCHAR(200) NULL,
CONSTRAINT PK_IDC PRIMARY KEY (IDC_ID)
)
go
/*==============================================================*/
/* Table: IDC_CABINET IDC机柜表 */
/*==============================================================*/
CREATE TABLE IDC_CABINET (
ID INT NOT NULL,
IDC_ID INT NULL,
LOCATION NVARCHAR(200) NULL,
U_SIZE INT NULL,
POWER INT NULL,
BANDWIDTH INT NULL,
CONTRACT_NO NVARCHAR(200) NULL,
DISCARDED_ON DATETIME NULL,
STATE INT NULL,
CONSTRAINT PK_IDC_CABINET PRIMARY KEY (ID)
)
go
kingdom_0 2012-07-17
  • 打赏
  • 举报
回复


真抱歉。。刚上传到空间时,感觉挺大的呢。
--小F-- 2012-07-17
  • 打赏
  • 举报
回复
你这个图实在是太迷你了点。
kingdom_0 2012-07-17
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]
机柜 与设备,主机 没有关系吗?占用机柜数 又是什么?
[/Quote]
表关系楼上已说明:
IDC主机在IDC设备上:IDC主机表中的DEV_NO字段和IDC设备表中的DEV_NO 关联
IDC设备在IDC机房中:IDC设备表中的IDC_ID字段和IDC机房中的IDC_ID字段关联
IDC机柜在IDC机房中:IDC机柜表中的IDC_ID字段和IDC机房中的IDC_ID字段关联
需求:
计算某个产品在不同机房中的具体数据
具体数据包括:IDC主机数;IDC主机所占所有的IDC主机的百分比;占用机柜数;机柜总价;机柜总价+带宽总价;
其中:
机柜总价=机柜数*机柜单价
带宽总价=带宽单价*分配的带宽
kingdom_0 2012-07-17
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]
是要求一个select 吗?
BANDWIDTH_TOTAL BANDWIDTH_PRICE CABINET_PRICE DISCARDED_ON DATETIME;
求注释。
[/Quote]
名字起的很规范,看名字也应该知道什么意思吧
总带宽 带宽单价 机柜价格 报废时间
Tom 1988 2012-07-17
  • 打赏
  • 举报
回复
机柜 与设备,主机 没有关系吗?占用机柜数 又是什么?
Tom 1988 2012-07-17
  • 打赏
  • 举报
回复
是要求一个select 吗?
BANDWIDTH_TOTAL BANDWIDTH_PRICE CABINET_PRICE DISCARDED_ON DATETIME;
求注释。
Tom 1988 2012-07-17
  • 打赏
  • 举报
回复
要求没说明白啊,是可以写成过程还是只能一条Select ?
kingdom_0 2012-07-17
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
IDC主机所占所有的IDC主机的百分比 怎么理解?
IDC主机数 select count(*) from HOST ;
[/Quote]某个产品所占用的主机,在所有的主机中所占的比例
jt25933911 2012-07-17
  • 打赏
  • 举报
回复
IDC主机所占所有的IDC主机的百分比 怎么理解?
IDC主机数 select count(*) from HOST ;
jt25933911 2012-07-17
  • 打赏
  • 举报
回复
呃 实在有点没看明白
kingdom_0 2012-07-17
  • 打赏
  • 举报
回复
表简单化一点,这样:
具体表结构:
/*==============================================================*/
/* Table: HOST IDC主机表 */
/*==============================================================*/
CREATE TABLE HOST (
HOST_ID INT NOT NULL PRIMARY KEY,
DEV_NO NVARCHAR(200) NULL,
PROD_ASSIGNED INT NULL

)
go
/*==============================================================*/
/* Table: DEVICE IDC设备表 */
/*==============================================================*/
CREATE TABLE DEVICE (
DEV_NO NVARCHAR(200) NOT NULL PRIMARY KEY,
IDC_ID INT NULL,
CABINET_ID INT NULL
)
go
/*==============================================================*/
/* Table: IDC IDC机房表 */
/*==============================================================*/
CREATE TABLE IDC (
IDC_ID INT NOT NULL PRIMARY KEY,
BANDWIDTH_TOTAL INT NULL,
BANDWIDTH_PRICE FLOAT NULL,
CABINET_PRICE FLOAT NULL,
DISCARDED_ON DATETIME NULL
)
go
/*==============================================================*/
/* Table: IDC_CABINET IDC机柜表 */
/*==============================================================*/
CREATE TABLE IDC_CABINET (
ID INT NOT NULL PRIMARY KEY,
IDC_ID INT NULL,
BANDWIDTH INT NULL
)
go

IDC主机在IDC设备上:IDC主机表中的DEV_NO字段和IDC设备表中的DEV_NO 关联
IDC设备在IDC机房中:IDC设备表中的IDC_ID字段和IDC机房中的IDC_ID字段关联
IDC机柜在IDC机房中:IDC机柜表中的IDC_ID字段和IDC机房中的IDC_ID字段关联
需求:
计算某个产品在不同机房中的具体数据
具体数据包括:IDC主机数;IDC主机所占所有的IDC主机的百分比;占用机柜数;机柜总价;机柜总价+带宽总价;
其中:
机柜总价=机柜数*机柜单价
带宽总价=带宽单价*分配的带宽

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧