Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 交叉连接InterBase根据条件获取重复记录_Sql_Firebird_Interbase - Fatal编程技术网

Sql 交叉连接InterBase根据条件获取重复记录

Sql 交叉连接InterBase根据条件获取重复记录,sql,firebird,interbase,Sql,Firebird,Interbase,目前我正在使用Firebird与InterBase合作。我需要两次获取带有条件的记录,但每次运行查询时都会收到一条错误消息。有没有办法绕过InterBase中的交叉连接?是否有一种更简单的方法将此逻辑添加到查询中。看来Firebird不会接受交叉连接 SELECT EMPLOYEE_NAME, LAST_NAME, CACODE FROM EMPLOYEESTABLE ( SELECT 889 AS CACODE, 8592-265-44444 AS STANDARDCACODE UNIO

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

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
从中选择“始终需要”。表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
从中选择“始终需要”。表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
谁需要通过这样一个简单的查询进行连接:-D


谁需要加入这样一个简单的查询:-D

请不要在标题中使用所有大写字母,这会使阅读更困难,并被视为叫喊。还有火鸟!=在过去的18年中,它们发生了分歧,不再相同,也不再兼容。那你用的是火鸟吗,或者您正在使用InterBase?您可能还需要指定您收到的确切错误消息,尽管我认为这类似于未知标记,因为您的语句在语法上不正确,您缺少EMPLOYEESTABLE和下一个“table”之间的join子句。查询从不使用STANDARDCACODE列请不要在中使用所有大写字母标题,这使它更难阅读,并被认为是叫喊。还有火鸟!=在过去的18年中,它们发生了分歧,不再相同,也不再兼容。那你用的是火鸟吗,或者您正在使用InterBase?您可能还需要指定您得到的确切错误消息,尽管我认为这类似于未知标记,因为您的语句在语法上不正确您缺少EMPLOYEESTABLE和下一个“table”之间的join子句。查询从不使用STANDARDCACODE列,我更喜欢显式SQL-92样式的交叉连接而不是SQL-89隐式连接。就我个人而言,我更喜欢显式SQL-92样式的交叉连接而不是SQL-89隐式连接。我假设问题中的查询已简化,然后使用交叉连接可能更有意义。我假设问题中的查询已简化,然后使用交叉连接可能更有意义。