我通過開放訪問命令驗證了firebird。對於驗證, 我對相同的數據和模式使用相同的命令來進行firebird和開放訪問(SQL)。當我在SQL上運行這個查詢時,它正在工作。在組查詢的情況下,它不顯示所需的輸出。火鳥如何評估相關查詢?現有數據沒有記錄
SELECT EMPNO,SAL
FROM EMP E
WHERE 1 = (SELECT MAX(DEPTNO)
FROM DEPT D
WHERE E.ENAME like '%AME%')
OR EMPNO = (SELECT MAX(DEPTNO)
FROM DEPT D
WHERE E.ENAME like (SELECT TOP 1 ENAME
FROM emp E1
WHERE E1.EMPNO=D.DEPTNO))
ORDER BY EMPNO;
這裏是開放存取(SQL)的輸出,
EMPNO SAL
-15 3000
-12 2000
-11 100500.55
-10 NULL
-9 1111.11
-8 -3000
-6 NULL
.........
.........
Rows selected = 27
火鳥,
EMPNO SAL
Rows selected = 0
即使火鳥,Openacess(SQL)使用相同的結構化語言,但在輸出不同。
DDL查詢,
CREATE TABLE EMP(EMPNO integer , ENAME varchar(32) , JOB varchar(32) , HIREDATE datetime , SAL float ,COMM real ,DEPTNO integer);
CREATE TABLE DEPT(DEPTNO integer, DNAME varchar(40), LOC varchar(40), DIVNO integer);
數據上面DDL,
INSERT INTO EMP VALUES(101, 'NAME1', 'TITLE1', '1990-02-02 02:02:02', 100500.55, 2000.90, 1);
INSERT INTO EMP VALUES (102,'NAME2','TITLE2', '1958-02-02 02:02:02',2000.00, 20000.00, 1);
INSERT INTO EMP VALUES(103, 'NAME3', 'TITLE3', '1997-03-12 08:09:54', 3000.00, 1000.50, 2);
INSERT INTO EMP VALUES(104, 'NAME4', 'TITLE4', '1997-04-02 00:00:00', 1111.11, 2.22, 1);
INSERT INTO EMP VALUES(105, 'NAME5', 'TITLE5', '1997-06-12 08:09:54', 3000.00, 1000.50, 2);
INSERT INTO EMP VALUES(106, 'NAME6', 'TITLE6', '1997-06-12 02:02:02', 1111.11, 2.22, 1);
INSERT INTO DEPT (DEPTNO, DNAME, LOC, DIVNO) Values (1, 'Software', 'San Jose', 10);
INSERT INTO DEPT (DEPTNO, DNAME, LOC, DIVNO) Values (2, 'Sales', 'LA', 20);
INSERT INTO DEPT (DEPTNO, DNAME, LOC, DIVNO) Values (3, 'Marketing', 'LA', 20);
請格式化查詢,使其可讀(該查詢對我來說沒有意義)。同時發佈一個可重現的例子:包括DDL和一個數據樣本。你是否檢查過一個簡單的'select * from emp'返回任何數據,並且這些子查詢產生了預期的結果,這樣做外層查詢將產生任何東西。 –
請提供所涉及的表的DDL和一個數據樣本,並描述這個查詢應該做什麼,因爲它對我來說毫無意義(除了它會給出一個'標記未知'的錯誤火鳥)。 –
@MarkRotteveel它有超過15行插入。我如何向你展示? – kvk30