看看下面的查询。如何将“操作”列显示为文本。 如果“操作”的结果为LEQ 0,则将文本“ Crash”放下,如果“操作” GRT 0是否显示文本“保持”?
SELECT col1 AS Action
FROM vdk
WHERE t_stamp Between "{StartTime}" AND "{EndTime}"
答案 0 :(得分:0)
使用CASE WHEN ... ELSE ... END并从设置(查询)中选择 :
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
答案 1 :(得分:0)
重构上面的答案,因为我认为没有必要向别名表添加查询。我认为这应该可行,其他答案也应该可行,但是由于没有给定的原因,它的查询稍微复杂一些。
<div class="col">
答案 2 :(得分:0)
此应用程序类似于我的第一个问题,我认为它可能会帮助其他人。 用户可以从表的下拉列表中选择一组选项,以将值输入数据库。
通过以下脚本使用点火的功率表组件的扩展功能configureEditor。 该脚本设置了下拉列表。
if colName == 'Action':
return {options': [(0, 'Null'), (1, 'HOLD'), (2, 'CRASH')]}
带有相同的Power Table的扩展功能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)