12 metabase查询-查询某个车间下的网关信息及其他查询

在navicat中创建视图,考虑3表做关联查询较复杂。

select distinct `sg`.`id` AS `网关ID`,`sg`.`gateway_code` AS `网关代码`,`sg`.`remark` AS `网关备注`,`sg`.`Data_Status` AS `网关状态`,`sg`.`ip_address` AS `网关WAN-IP`,`sc`.`code` AS `机柜代码`,`sc`.`remark` AS `机柜备注`,`sw`.`code` AS `车间代码`,`sw`.`fname` AS `车间名称` from ((`scada_gateway` `sg` join `scada_cabinet` `sc`) join `scada_workshop` `sw`) where ((`sg`.`cabinet_id` = `sc`.`id`) and (`sc`.`workshop_id` = `sw`.`fid`))

SELECT
	scada_workshop_gateway_view.`网关ID`, 
	scada_workshop_gateway_view.`网关代码`, 
	scada_workshop_gateway_view.`网关备注`, 
	scada_workshop_gateway_view.`网关状态`, 
	scada_workshop_gateway_view.`网关WAN-IP`, 
	scada_workshop_gateway_view.`机柜代码`, 
	scada_workshop_gateway_view.`机柜备注`, 
	scada_workshop_gateway_view.`车间代码`
FROM
	scada_workshop_gateway_view
WHERE
	scada_workshop_gateway_view.`车间名称` = '熔铸厂熔铸二部'
ORDER BY
	scada_workshop_gateway_view.`网关ID` ASC

 保存:

 查询网关中的PLC分布情况:

SELECT DISTINCT
	sg.gateway_code AS `网关代码`, 
	COUNT(sp.gateway_id) AS `PLC数`
FROM
	scada_plc AS sp,
	scada_gateway AS sg
WHERE
	sp.gateway_id = sg.id
GROUP BY
	sp.gateway_id
ORDER BY
	sp.fid ASC

 保存:

 查询某个网关中的PLC信息:

SELECT DISTINCT
	sp.fid AS PLCID, 
	sp.ip_address AS `IP地址`, 
	sp.port_number AS `端口号`, 
	sp.Rack_No AS `槽号`, 
	sp.Slot_No AS `机架`, 
	sp.Fmodel AS `型号`, 
	sp.FName AS `名称`
FROM
	scada_plc AS sp
WHERE
	sp.gateway_id = (SELECT sg.id FROM scada_gateway sg WHERE sg.gateway_code={{GatewayCode}})
ORDER BY
	sp.fid ASC

保存:

 

 查询PLC中对应设备的分布情况:

SELECT DISTINCT
	sp.FName AS `名称`, 
	COUNT(se.plc_id) AS `设备数`
FROM
	scada_equipment AS se,
	scada_plc AS sp
WHERE
	se.plc_id = sp.fid
GROUP BY
	se.plc_id
ORDER BY
	se.id ASC

 

保存:

 

查询某个PLC中对应的设备:

SELECT DISTINCT
	se.id AS `设备ID`, 
	se.`name` AS `设备名称`
FROM
	scada_equipment AS se
WHERE
	se.plc_id = (SELECT sp.fid FROM scada_plc sp WHERE sp.FName={{PLCName}})
ORDER BY
	se.id ASC

 

保存:

 

查询设备中的参数分布情况:

 注意:此处查询出的设备数量与设备表中的数量对应不上,暂时不用关注。

SELECT DISTINCT
	se.`name` AS `设备名称`, 
	COUNT(sp.equipment_id) AS `参数量`
FROM
	scada_parameter AS sp,
	scada_equipment AS se
WHERE
	sp.equipment_id = se.id
GROUP BY
	sp.equipment_id
ORDER BY
	sp.fid ASC;

保存:

 

查询某个设备的参数:

SELECT DISTINCT
	sp.fid AS `参数ID`, 
	sp.Fname_Cn AS `参数名称-中`, 
	sp.Fname_En AS `参数名称-英`, 
	sp.Address AS `参数地址`, 
	sp.Funit AS `参数单位`, 
	sp.Data_Type AS `数据类型`, 
	sp.DB_Table AS `数据表`, 
	sp.DB_Column AS `数据字段`, 
	sp.fcycle AS `采集周期`, 
	sp.is_aperiodic AS `是否周期`, 
	sp.Data_Status AS `参数状态`, 
	sp.Data_Value AS `参数值`, 
	sp.Data_time AS `采集时间`, 
	sp.Remark AS `备注`
FROM
	scada_parameter AS sp
WHERE
	sp.equipment_id = (SELECT se.id FROM scada_equipment se WHERE se.name = {{EquipmentName}})
ORDER BY
	sp.fid ASC

保存:

 

 查看某个车间下/PLC/机柜等下参数:

涉及多表参数查询,考虑创建视图,然后通过视图进行查看:

创建视图:

SELECT
	`sp`.`fid` AS `参数ID`,
	`sp`.`Fname_Cn` AS `参数名-中`,
	`sp`.`Fname_En` AS `参数名-英`,
	`sp`.`Address` AS `地址`,
	`sp`.`Funit` AS `单位`,
	`sp`.`Data_Type` AS `数据类型`,
	`sp`.`DB_Table` AS `数据表`,
	`sp`.`DB_Column` AS `数据字段`,
	`sp`.`fcycle` AS `循环周期`,
	`sp`.`is_aperiodic` AS `是否周期`,
	`sp`.`Data_Status` AS `数据状态`,
	`sp`.`Data_Value` AS `数据值`,
	`sp`.`Data_time` AS `采集时间`,
	`sp`.`Remark` AS `备注`,
	`se`.`name` AS `设备名称`,
	`spl`.`FName` AS `PLC名称`,
	`sg`.`gateway_code` AS `网关代码`,
	`sc`.`code` AS `机柜代码`,
	`sw`.`code` AS `车间代码`,
	`sw`.`fname` AS `车间名称` 
FROM
	((((( `scada_parameter` `sp` JOIN `scada_equipment` `se` ) JOIN `scada_plc` `spl` ) JOIN `scada_gateway` `sg` ) JOIN `scada_cabinet` `sc` ) JOIN `scada_workshop` `sw` ) 
WHERE
	((
			`sp`.`equipment_id` = `se`.`id` 
			) 
		AND ( `se`.`plc_id` = `spl`.`fid` ) 
		AND ( `spl`.`gateway_id` = `sg`.`id` ) 
		AND ( `sg`.`cabinet_id` = `sc`.`id` ) 
	AND ( `sc`.`workshop_id` = `sw`.`fid` )) 
ORDER BY
	`sp`.`fid`

查看某个车间下的参数:

SELECT
	scada_all_view.`参数ID`, 
	scada_all_view.`参数名-中`, 
	scada_all_view.`参数名-英`, 
	scada_all_view.`地址`, 
	scada_all_view.`单位`, 
	scada_all_view.`数据类型`, 
	scada_all_view.`数据表`, 
	scada_all_view.`数据字段`, 
	scada_all_view.`循环周期`, 
	scada_all_view.`是否周期`, 
	scada_all_view.`数据状态`, 
	scada_all_view.`数据值`, 
	scada_all_view.`采集时间`, 
	scada_all_view.`备注`, 
	scada_all_view.`设备名称`, 
	scada_all_view.`PLC名称`, 
	scada_all_view.`网关代码`, 
	scada_all_view.`机柜代码`, 
	scada_all_view.`车间代码`
FROM
	scada_all_view
WHERE
	scada_all_view.`车间名称` = '熔铸厂熔铸二部'
ORDER BY
	scada_all_view.`参数ID`

 保存:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荒先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值