【问题标题】:Firebird WHERE clause in selecting fields选择字段中的 Firebird WHERE 子句
【发布时间】:2025-12-24 14:25:16
【问题描述】:

我在这里有火鸟查询,我不认为这是否正确。

SELECT 
      COUNT(STATUS) FROM(SELECT STATUS FROM T_TABLE2 WHERE STATUS = 'FAIL') AS FAIL,  
      DEVICENAME,  
      SITE_NUM,  
      COUNT(TEST_NUM)  
FROM T_TABLE2 A  
INNER JOIN T_TABLE1 B  
ON A.TBL1_ID = B.ID  
WHERE B.DEVICENAME = 'TANM1A009A_P28'  
AND A.TEST_NUM = 'T810'  
GROUP BY 
      DEVICENAME, 
      TESTER, 
      SITE_NUM 

我想统计 TEST_NUM 行,即使它有 FAIL 值,我也想统计 STATUS 有 FAIL 值。 谢谢

【问题讨论】:

  • 这里有什么问题?
  • 这条线正确吗? COUNT(STATUS) FROM(SELECT STATUS FROM T_TABLE2 WHERE STATUS = 'FAIL') AS FAIL,
  • 我在firebird中不太熟悉,但在SQLServer中,不正确,应该是COUNT(STATUS) AS FAIL FROM (SELECT STATUS FROM T_TABLE2 WHERE STATUS = 'FAIL')

标签: select firebird where-clause


【解决方案1】:

我真的不知道 FireBird,但从 MSSQL 的角度来看,你为什么不试试这个??

SELECT 
      COUNT(A.STATUS) as 'FAIL', 
      B.DEVICENAME, 
      (TableofYourSitenum)SITE_NUM, -- i do no know what table this from 
      (TableofYourTestnum)COUNT(TEST_NUM)  as 'TESTNUM COUNT' --and this also you need to put the table name,
FROM T_TABLE2 A  
INNER JOIN T_TABLE1 B  
ON A.TBL1_ID = B.ID  
WHERE B.DEVICENAME = 'TANM1A009A_P28'  
AND A.TEST_NUM = 'T810'  
GROUP BY 
      A.STATUS, 
      (TableofYourTestnum)TESTNUM 

【讨论】: