線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:892
推到 Plurk!
推到 Facebook!

如何對一資料庫做兩次查詢

尚未結案
leee02
一般會員


發表:17
回覆:12
積分:5
註冊:2002-10-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-01 09:39:14 IP:210.67.xxx.xxx 未訂閱
請教各位: 我有一Paradox 資料庫,我用QUERY 元件先過濾了一次,如果我想再從過濾過的資料中再找出符合我所需的紀錄,我該如何做呢? 譬如:有一TABLE,包含A,B,C,D,E 五個欄位,我先用 ( select distinct A,B,C,D,E From Table1) 做第一次的過濾,如果我想再從過濾過的資料中,再 找出 A,B,C,D 欄位相同,且有兩筆以上的不同記錄,我該如何做呢?
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-01 10:40:52 IP:203.95.xxx.xxx 未訂閱
hi, 你可以使用 filter 的功能, 不過因為你的過濾條件中還有 aggregate 的要求, 所以用 filter 可能沒辦法完全達到你要篩選的條件, 可以的話, 最好是用 sql command 中就處理, 否則不是很好作業的. 你可以依照最後條件的 sql command 再加上你要的條件再次進行查詢會比較理想! 發表人 - timhuang 於 2003/11/01 10:42:45
xiaoning79627
初階會員


發表:46
回覆:60
積分:26
註冊:2002-11-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-01 14:42:33 IP:219.130.xxx.xxx 未訂閱
引言: 請教各位: 我有一Paradox 資料庫,我用QUERY 元件先過濾了一次,如果我想再從過濾過的資料中再找出符合我所需的紀錄,我該如何做呢? 譬如:有一TABLE,包含A,B,C,D,E 五個欄位,我先用 ( select distinct A,B,C,D,E From Table1) 做第一次的過濾,如果我想再從過濾過的資料中,再 找出 A,B,C,D 欄位相同,且有兩筆以上的不同記錄,我該如何做呢?
可以将其查询出来的数据作为新的数据集,然后对其进行新的查询 如: select * from ( select distinct A,B,C,D,E From Table1) as a where 条件 努力,相信会做的更好!
leee02
一般會員


發表:17
回覆:12
積分:5
註冊:2002-10-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-02 22:09:50 IP:210.201.xxx.xxx 未訂閱
引言:
引言: 請教各位: 我有一Paradox 資料庫,我用QUERY 元件先過濾了一次,如果我想再從過濾過的資料中再找出符合我所需的紀錄,我該如何做呢? 譬如:有一TABLE,包含A,B,C,D,E 五個欄位,我先用 ( select distinct A,B,C,D,E From Table1) 做第一次的過濾,如果我想再從過濾過的資料中,再 找出 A,B,C,D 欄位相同,且有兩筆以上的不同記錄,我該如何做呢?
可以将其查询出来的数据作为新的数据集,然后对其进行新的查询 如: select * from ( select distinct A,B,C,D,E From Table1) as a where 条件 努力,相信会做的更好!
我用DELPHI 的 DataBase Desktop 下此指令,會出現語法錯誤的訊息。
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-11-03 20:34:07 IP:63.84.xxx.xxx 未訂閱
您好!    您可以試一下: Select * From ( Select Distinct A,B,C,D,E From Table1) Where A=B and B=C and C=D and ... 且有兩筆以上的不同記錄 以上這一句有些看不懂, 能解釋一下嗎? ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
leee02
一般會員


發表:17
回覆:12
積分:5
註冊:2002-10-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-11-03 22:53:38 IP:210.201.xxx.xxx 未訂閱
引言: 您好! 您可以試一下: Select * From ( Select Distinct A,B,C,D,E From Table1) Where A=B and B=C and C=D and ... 且有兩筆以上的不同記錄 以上這一句有些看不懂, 能解釋一下嗎? ===================== 努力,相信會獲得美麗! 忻晟
對不起,應該是『兩筆以上相同的紀錄』。
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-11-04 00:07:40 IP:63.84.xxx.xxx 未訂閱
您好!    小弟覺得您的問題似乎有些矛盾, 因為一般來講, 我們在做資料筆數(Count)查詢時, 都會配合一些分組(Group By)的語法, 從您的問題上來看, 沒有存在這樣的分組(Group By)的條件欄位, 故可能不可實現.    舉個簡單的例子來講: 要求: 查詢每位客戶訂購的總數量, 其前提條件為訂單資料需要超過3筆 SQL語法可下為: Select 客戶編號, Sum(數量) From 訂單 Group By 客戶編號 Having Count(*)>3 參考看看! ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
leee02
一般會員


發表:17
回覆:12
積分:5
註冊:2002-10-09

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-11-04 09:48:53 IP:210.67.xxx.xxx 未訂閱
引言: 您好! 小弟覺得您的問題似乎有些矛盾, 因為一般來講, 我們在做資料筆數(Count)查詢時, 都會配合一些分組(Group By)的語法, 從您的問題上來看, 沒有存在這樣的分組(Group By)的條件欄位, 故可能不可實現. 舉個簡單的例子來講: 要求: 查詢每位客戶訂購的總數量, 其前提條件為訂單資料需要超過3筆 SQL語法可下為: Select 客戶編號, Sum(數量) From 訂單 Group By 客戶編號 Having Count(*)>3 參考看看! ===================== 努力,相信會獲得美麗! 忻晟
我將資料內容秀出來,看看是否會更清楚我的問題所在。 A B C D E ----------------------------------- 1 26 09 0056 17 70 2 26 09 0056 18 60 3 26 09 0056 18 60 4 26 09 0056 18 70 5 26 09 0056 18 70 6 26 09 0056 18 70 7 26 09 0056 24 60 8 26 09 0056 25 70 9 26 09 0058 02 10 10 26 09 0079 03 30 11 26 09 0079 03 10 12 26 09 0079 03 10 13 26 09 0079 03 10 14 26 09 0121 19 30 15 26 09 0121 20 30 16 26 09 0121 22 30 17 26 09 0199 06 60 18 26 09 0295 02 30 .......... 以上的資料是我TABLE的大概內容,不過最左邊的數字是我加上的,用於說明。 我想要達到的目的是: 一、只找出A,B,C,D 欄位數值相同的紀錄(如 2至6行紀錄)。 二、再從中統計A,B,C,D,E 欄位數值相同的紀錄共有幾筆。 不知如此的解釋有清楚些嗎?
JASON-CC
一般會員


發表:0
回覆:1
積分:0
註冊:2002-09-11

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-11-04 12:53:57 IP:61.70.xxx.xxx 未訂閱
試試看: Select COUNT(*),A,B,C,D From Table Group By A,B,C,D Order By A,B,C,D (SQL SERVER 必須加此行)
系統時間:2024-06-28 18:50:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!