mysql - mysql限制不能针对1个id工作多个记录
问题描述
Mysql 过程针对 1 个 id 给出三个记录。我试图仅针对 1 个 id 获取 1 条记录。对 1 个 ID 仅访问 1 条记录的限制在哪里
创建 DEFINER= xxxx
@ xxxx.%
PROCEDURE xxxx
(
IN pCompanyId BIGINT(20)
)
BEGIN
SELECT
`zp`.`PlaceId`,
`zp`.`PlaceName`,
`zp`.`PlaceCategoryCode`,
`zp`.`Description`,
`zp`.`CompanyId_FK`,
`zp`.`OwnerCompanyId_FK`,
`zp`.`IsDeleted`,
`zp`.`IsArchived`,
`zp`.`CreatedDate`,
`zp`.`ModifiedDate`,
`zp`.`CreatedBy_FK`,
`zp`.`ModifiedBy_FK`,
(SELECT COUNT(`ApplianceId`) FROM `ZThinQ_Appliance` WHERE `ApplianceActionCode` = 1 AND `PlaceId_FK` = `PlaceId`) AS activeDevices ,
(SELECT COUNT(`ApplianceId`) FROM `ZThinQ_Appliance` where `PlaceId_FK` = `PlaceId` ) AS totalDevices
FROM `ZThinQ_Place` AS `zp`
JOIN `ZThinQ_Appliance` as `za`
#ON `ZThinQ_Appliance`
#ON `PlaceId` = `PlaceId_FK`
Where `zp`.`CompanyId_FK`=pCompanyId;
END
解决方案
如果你想要一行,你可以在 yoru 查询中添加限制 1
SELECT
`zp`.`PlaceId`,
`zp`.`PlaceName`,
`zp`.`PlaceCategoryCode`,
`zp`.`Description`,
`zp`.`CompanyId_FK`,
`zp`.`OwnerCompanyId_FK`,
`zp`.`IsDeleted`,
`zp`.`IsArchived`,
`zp`.`CreatedDate`,
`zp`.`ModifiedDate`,
`zp`.`CreatedBy_FK`,
`zp`.`ModifiedBy_FK`,
(SELECT COUNT(`ApplianceId`) FROM `ZThinQ_Appliance` WHERE `ApplianceActionCode` = 1 AND `PlaceId_FK` = `PlaceId`) AS activeDevices ,
(SELECT COUNT(`ApplianceId`) FROM `ZThinQ_Appliance` where `PlaceId_FK` = `PlaceId` ) AS totalDevices
FROM `ZThinQ_Place` AS `zp`
JOIN `ZThinQ_Appliance` as `za`
#ON `ZThinQ_Appliance`
#ON `PlaceId` = `PlaceId_FK`
Where `zp`.`CompanyId_FK`=pCompanyId
LIMIT 1
推荐阅读
- python - 获取 GAN 创建的图像标签
- c# - Xamarin CollectionView 空白
- apache - 通过 Certbot 在 Debian 上使用 SSL 的 Apache:如何为特定子文件夹添加配置设置?
- python-3.x - 如何在 Python 中打开系统日志文件
- c# - 如何将角色旋转到相机的旋转?
- flutter - Flutter:如何通过 dart Code 获取我的 Flutter 应用程序中所有小部件对象的所有属性以在测试中使用它?
- r - R在读/写CSV时失去小数点的精度?
- c++ - 使用变量错误打开输入和输出的 C++ 问题
- java - Maven + AspectJ + TestNG + Selenium
- autodesk-forge - AutoCAD.PlotToPDF+prod 生成的 PDF 中缺少最后一页