sql - 显示同一列两次,结果不同
问题描述
我有一个包含启用和禁用值的列,该值由事件 ID 关联,在这个事件表中我有用户数据时间,我想创建一个查询并在同一行中显示启用事件的触发时间. 触发禁用的时间
SELECT
valv.valvOf, valv.cam,
cod.descOf Habilita, cod.descof Desabilita
FROM
{oj (aspersao.dbo.events events LEFT JOIN aspersao.dbo.valv valv ON events.valv_id = valv."id") LEFT JOIN aspersao.dbo.cod cod ON events.cod_id = cod.id}
WHERE
valv.cam = '1'
and
Habilita = 'Habilitou valvula'
and
Desabilita = 'Desabilitou valvula'
解决方案
即使在更正您的代码以便您不试图通过WHERE
子句中的别名来引用列之后,您的代码也是无稽之谈。没有行会有等于两个不同值的列。
很可能您想拉入桌子两次。我也摆脱了 ODBC 特定的花括号语法。
SELECT
valv.valvOf, valv.cam,
cod1.descOf AS Habilita, cod2.descof AS Desabilita
FROM
aspersao.dbo.events AS events
LEFT JOIN aspersao.dbo.valv AS valv ON events.valv_id = valv."id"
LEFT JOIN aspersao.dbo.cod AS cod1
ON events.cod_id = cod1.id
AND cod1.descOf = 'Habilitou valvula'
LEFT JOIN aspersao.dbo.cod AS cod2
ON events.cod_id = cod2.id
AND cod2.descOf = 'Desabilitou valvula'
WHERE
valv.cam = '1'
这几乎是一个猜测,因为您的问题中确实没有足够的信息。
编辑:我在行中有错误的测试字符串cod2.descOf =
;我已经解决了。
推荐阅读
- html - 模糊背后有内容的 HTML 元素的背景
- gem5 - 为什么首先从检查点恢复操作?
- firebase - 有没有办法使用flutter web将数据从Firebase下载到csv/excel文件中?
- python - 如何使用openpyxl枚举具有(非空)值的Excel工作表中的所有单元格?
- html - 放入“行”类时,锚“按钮”不起作用
- python - 替换二维列表中的东西
- java - 如何在 Eclipse 中以编程方式创建 bpmn2 流程?
- laravel - Laravel 关系:从其他表中添加一个 id
- python - 我想通过用户输入从列表中删除多个元素
- python-3.x - “NotFoundError:没有算法有效!”是什么意思?