如何对多表查询排序 |
尚未結案
|
ffprince
初階會員 ![]() ![]() 發表:66 回覆:62 積分:25 註冊:2003-08-16 發送簡訊給我 |
如何对多张格式一样的表进行如下查询?
1、各表的格式(列数、列名、属性)完全一样
2、我想从各表中将符合同一条件的记录的同一些列全找出来
3、并且想让所有记录按照某列排序 假如对单表用select 列名1,列名2 from 表名1 where 条件 order by 列名3
那么对多表怎么写? 用 Union这样写行吗: select Field1,Field2 from Table1 where xxxxx
union
select Field1,Field2 from Table2 where xxxxx
union
select Field1,Field2 from Table3 where xxxxx order by field3
|
Mickey
版主 ![]() ![]() ![]() ![]() ![]() 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
jeffreck
高階會員 ![]() ![]() ![]() ![]() 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
|
ffprince
初階會員 ![]() ![]() 發表:66 回覆:62 積分:25 註冊:2003-08-16 發送簡訊給我 |
|
ffprince
初階會員 ![]() ![]() 發表:66 回覆:62 積分:25 註冊:2003-08-16 發送簡訊給我 |
引言: Select * From ( select Field1,Field2,Field3 from Table1 where xxxxx union ALL select Field1,Field2,Field3 from Table2 where xxxxx union ALL select Field1,Field2,Field3 from Table3 where xxxxx ) AS temp1 Order by field3temp1是什么意思?查出来的结果是怎么放的?各个表的记录独立为一行,然后按我的要求排序?不好意思,我现在不在公司,明天试试…… |
jeffreck
高階會員 ![]() ![]() ![]() ![]() 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
引言: temp1是什么意思?查出S的C果是怎么放的?各牧磲立o一行,然后按我的要求排序?不好意思,我c在不在公司,明天II……我說說看 是把 查詢的結果放入到Temp1,如下 select Field1,Field2,Field3 from Table1 where xxxxx union ALL select Field1,Field2,Field3 from Table2 where xxxxx union ALL select Field1,Field2,Field3 from Table3 where xxxxx 之後再 Select Temp1 所以也可以下 Select temp1.Field1,temp1.Field2 From ( select Field1,Field2,Field3 from Table1 where xxxxx union ALL select Field1,Field2,Field3 from Table2 where xxxxx union ALL select Field1,Field2,Field3 from Table3 where xxxxx ) AS temp1 Order by temp1.Field3 ---------------- 說法怪怪的,不知是否了解< >< > |
ffprince
初階會員 ![]() ![]() 發表:66 回覆:62 積分:25 註冊:2003-08-16 發送簡訊給我 |
|
ffprince
初階會員 ![]() ![]() 發表:66 回覆:62 積分:25 註冊:2003-08-16 發送簡訊給我 |
不好了!我是这么写的,运行后却报说“SQL命令未正确结束”
Select * From
(
select Field1,Field2 from Table1 where xxxxx
union ALL
select Field1,Field2,Field3 from Table2 where xxxxx
union ALL
select Field1,Field2,Field3,Field4 from Table3 where xxxxx
)
AS temp1 Order by field1,Field2 怎么改?
|
Fishman
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi:
SELECT * FROM (SELECT FIELD1,FIELD2,'' FIELD3,'' FIELD4 FROM TABLE1 WHERE XXXXX UNION ALL SELECT FIELD1,FIELD2,FIELD3,'' FIELD4 FROM TABLE2 WHERE XXXXX UNION ALL SELECT FIELD1,FIELD2,FIELD3,FIELD4 FROM TABLE3 WHERE XXXXX) ORDER BY FIELD1, FIELD2使用 Union 指令,須確認各個 Query Select 出來的欄位個數與 type 須一致
------
Fishman |
Fishman
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi, 也可以這樣寫
SELECT FIELD1,FIELD2,'' FIELD3,'' FIELD4 FROM TABLE1 WHERE XXXXX UNION ALL SELECT FIELD1,FIELD2,FIELD3,'' FIELD4 FROM TABLE2 WHERE XXXXX UNION ALL SELECT FIELD1,FIELD2,FIELD3,FIELD4 FROM TABLE3 WHERE XXXXX ORDER BY FIELD1,FIELD2
------
Fishman |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |