SQL语句:Select * from (Select * from T_FHD) Union (Select * from T_FHD2) where fcsj between 2005-6-29 and 2005-7-14
的作用是:用联合查询的方式,在ACCESS某数据库中从T_FHD和T_FHD2表里查找“发车时间”在2005-6-29和2005-7-14之间的所有数据。操作环境是Delphi+Access由此引发三个问题:
1、运行后,提示:“联合查询语法错误”。怎样解决?
2、单独用Select * from (Select * from T_FHD) Union (Select * from T_FHD2)可以显示结果,只是T_FHD中的记录和T_FHD2中的记录交替显示。如果要让T_FHD2中的记录显示在T_FHD中的记录的下面,怎么办?(结果是显示在DBGrid里的)3、Select * from (Select * from T_FHD) Union (Select * from T_FHD2)
是(Select * from T_FHD)和(Select * from T_FHD2)先联合再查询呢,还是先查询Select * from (Select * from T_FHD)再和(Select * from T_FHD2)联合呢?迷惑!请给我解决一下吧。先谢谢了!
的作用是:用联合查询的方式,在ACCESS某数据库中从T_FHD和T_FHD2表里查找“发车时间”在2005-6-29和2005-7-14之间的所有数据。操作环境是Delphi+Access由此引发三个问题:
1、运行后,提示:“联合查询语法错误”。怎样解决?
2、单独用Select * from (Select * from T_FHD) Union (Select * from T_FHD2)可以显示结果,只是T_FHD中的记录和T_FHD2中的记录交替显示。如果要让T_FHD2中的记录显示在T_FHD中的记录的下面,怎么办?(结果是显示在DBGrid里的)3、Select * from (Select * from T_FHD) Union (Select * from T_FHD2)
是(Select * from T_FHD)和(Select * from T_FHD2)先联合再查询呢,还是先查询Select * from (Select * from T_FHD)再和(Select * from T_FHD2)联合呢?迷惑!请给我解决一下吧。先谢谢了!
注意数据库自身需要的语法格式,这个和delphi没有关系
select emp.empno, emp.ename, emp.deptno, dept.dname,dept.loc from scott.emp,scott.dept where emp.date, scott.date between 2005-6-29 and 2005-7-14
Select * from ((Select *,1 as orderid from T_FHD) Union (Select *,2 as order id from T_FHD2)) where fcsj between 2005-6-29 and 2005-7-14
order by orderid
如果你要先联合再查询就需要用括号将联合先括起。
Select * from ((Select *,1 as orderid from T_FHD) Union (Select *,2 as order id from T_FHD2)) where fcsj between '2005-6-29' and '2005-7-14'
order by orderid