首页 > 解决方案 > Cross join InterBase 根据条件获取重复记录

问题描述

我目前正在通过使用 Firebird 与 InterBase 合作。我需要使用条件获取两次记录,但是每次运行查询时,我都会收到一条错误消息。有没有办法绕过 InterBase 中的交叉连接?是否有一种更简单的方法可以将此逻辑添加到查询中。看起来火鸟不会接受交叉连接。

SELECT EMPLOYEE_NAME, LAST_NAME, CACODE

FROM EMPLOYEESTABLE 

(
SELECT 889 AS CACODE, 8592-265-44444 AS STANDARDCACODE
UNION ALL 
SELECT 695 AS CACODE, 8554-265-44578 AS STANDARDCACODE
) C

标签: sqlfirebirdinterbase

解决方案


选择总是需要from的。该表RDB$DATABASE返回 1 行带有数据库名称,因此我们可以使用它。我认为你正在寻找这样做:

SELECT EMPLOYEE_NAME, LAST_NAME, CACODE

FROM EMPLOYEESTABLE, 

(
SELECT 889 AS CACODE, '8592-265-44444' AS STANDARDCACODE FROM RDB$DATABASE
UNION ALL 
SELECT 695 AS CACODE, '8554-265-44578' AS STANDARDCACODE FROM RDB$DATABASE
) C

推荐阅读