请看下面的查询。如何将“操作”列显示为文本。如果'action'的结果是leq 0,则删除文本“crash”,如果'action'是grt 0,则显示文本“hold”?
SELECT col1 AS Action FROM vdk WHERE t_stamp Between "{StartTime}" AND "{EndTime}"
blpfk2vs1#
使用案例。。。否则。。。结束并从集合中选择(查询):
SELECT *, (CASE WHEN Action <= 0 THEN 'Crash' ELSE 'Hold' END) as ActionText FROM ( SELECT col1 AS Action FROM vdk WHERE t_stamp Between "{StartTime}" AND "{EndTime}" ) q
xn1cxnb42#
这个应用程序类似于我的第一个问题,我认为它可能会帮助其他人的道路。用户可以从表的下拉列表中选择一组选项,以便在数据库中输入值。通过以下脚本使用ignition的power table组件的扩展函数configureeditor。此脚本设置下拉列表。
if colName == 'Action': return {options': [(0, 'Null'), (1, 'HOLD'), (2, 'CRASH')]}
以及同一个power表的扩展函数oncelledited脚本。此脚本将选择作为值输入数据库。
# onCellEdited Upadte Query row = rowIndex col = colIndex colName = colName value = newValue ndx = self.data.getValueAt(row,0) query = "UPDATE vdk SET %s = ? WHERE ndx = ?" % colName system.db.runPrepUpdate(query,[value,ndx],'history') system.db.refresh(self.data)
z4bn682m3#
重构上面的答案,因为我认为没有必要向别名表添加查询。我认为这应该是工作的另一个答案应该工作太顺便说一句,但它有一点更复杂的查询没有给定的原因。
SELECT (CASE WHEN col1 <= 0 THEN 'Crash' ELSE 'Hold' END) AS Action FROM vdk WHERE t_stamp Between "{StartTime}" AND "{EndTime}"
3条答案
按热度按时间blpfk2vs1#
使用案例。。。否则。。。结束并从集合中选择(查询):
xn1cxnb42#
这个应用程序类似于我的第一个问题,我认为它可能会帮助其他人的道路。用户可以从表的下拉列表中选择一组选项,以便在数据库中输入值。
通过以下脚本使用ignition的power table组件的扩展函数configureeditor。此脚本设置下拉列表。
以及同一个power表的扩展函数oncelledited脚本。此脚本将选择作为值输入数据库。
z4bn682m3#
重构上面的答案,因为我认为没有必要向别名表添加查询。我认为这应该是工作的另一个答案应该工作太顺便说一句,但它有一点更复杂的查询没有给定的原因。