我尝试选择具有当前打开状态的门票(即待机,待定供应商,正在进行中),并且具有特定的门票类别=' SR'两个日期之间(2015年4月1日至2015年4月30日)。
select * from tkt_table where class = 'SR' and status = 'INPROG' or status = 'PENDING' or status = 'INC'... order date by datereport desc
有两个表,其中包含故障单信息的表为tkt_table
,另一个表具有故障单状态历史记录tktStatus_table
。他们都以tktid
为关键。
如何获取此SQL语句,以显示在所选日期(4月1日至4月30日)之间状态发生变化的所有故障单
非常感谢:)
左边的表是 tkt_table ,右边是 tkt_status
答案 0 :(得分:0)
您可以在having子句中使用COUNT(DISTINCT状态),如下所示:
SELECT * FROM
tkt_table t inner join
(SELECT tktid, count(distinct status) cnt FROM tktStatus_table
WHERE dateReport >= '20150401' AND dateReport < '20150501'
GROUP BY tktid
HAVING COUNT(DISTINCT status) > 1) as a on t.tktid=a.tktid
答案 1 :(得分:0)
您可params.permit(:tech_id, :customer_id )
表格,然后join
票证ID
Group By