上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
yctsai
註冊時間: 2003-04-11 文章: 179
第 31 樓
|
發表於: 星期二 七月 15, 2014 12:09 pm 文章主題: |
|
|
修正:我會考慮只要出現負的,那後2筆去除,剩下就是答案 |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 32 樓
|
發表於: 星期二 七月 15, 2014 2:45 pm 文章主題: |
|
|
yctsai 寫到: | 修正:我會考慮只要出現負的,那後2筆去除,剩下就是答案 |
這還是有問題,1及2並沒有連3天,但也會出現,不符樓主要求。 |
|
回頂端 |
|
|
amd
註冊時間: 2003-07-20 文章: 54
第 33 樓
|
發表於: 星期二 七月 15, 2014 6:37 pm 文章主題: |
|
|
[quote="ckp6250"] amd 寫到: |
不過 小弟想要做的是在 同一表的 及 同一欄位 判斷 3 次 + 的 ∼謝謝!
這行 select 用的就是同一個表呀 c:\123
Select d.Date From (;
Select a.Date,Iif(a.mount>0,1,0)+;
(Select Iif(mount>0,1,0) From c:\123 b Where a.Date=b.Date+1)+;
(Select Iif(mount>0,1,0) From c:\123 c Where a.Date=c.Date+2) As Total;
FROM c:\123 a ) d ;
WHERE d.Total=3
|
此法 6.0 不能 用,改用 9.0 ∼
回家 看大大 的意思 做了一下,大大 您看是不是 我做出來的 表 ∼
123.dbf
內有 2個 欄位:
mount date
1 1
2 2
2 3
2 4
2 5
-1 6
2 7
2 8
2 9
3 9
它會顯示 date 欄位 34599
但 date 最後9 如果改成 比 9 小 就不行了,不知∼
小弟所學不夠,看不太懂 這種語法∼ (見笑啦)
只知 iif 內是要判斷如是 就 +1 ( ~ 3)
可是如果 去改 date 的值 結果 就不一樣了,應是 我做的不對吧∼ |
|
回頂端 |
|
|
amd
註冊時間: 2003-07-20 文章: 54
第 34 樓
|
發表於: 星期二 七月 15, 2014 6:46 pm 文章主題: |
|
|
本來貼了 sql 碼,但對不起,考量 內有 小弟的 想法,砍掉先∼ |
|
回頂端 |
|
|
saint
註冊時間: 2003-07-14 文章: 211
第 35 樓
|
|
回頂端 |
|
|
amd
註冊時間: 2003-07-20 文章: 54
第 36 樓
|
發表於: 星期四 七月 17, 2014 1:18 am 文章主題: |
|
|
原來是 我 sql select 內 用了 min 、max 、count、 GROUP BY ∼
但 這些 都是 我要 的 數據 來源,所以 就 大概 這樣了吧 ∼ |
|
回頂端 |
|
|
amd
註冊時間: 2003-07-20 文章: 54
第 37 樓
|
發表於: 星期四 七月 17, 2014 10:06 pm 文章主題: |
|
|
今天 頭腦 終於 清醒了一些 ∼
在不改 sql 條件 程式下,一樣 的硬体 下 終於把 select 速度 問題 解決了,不用一秒 , 哈哈哈!
上次那個 ckp6250 大大 說的 索引 ,我有試過 建 跟 不建 ,select 在速度上 沒什麼差,因為 之前說的原因,所以最後還是不建 ∼
索引 我覺得是對 foxpro 傳統的 搜尋 (seek ..) 較有差!
*******
謝謝 各位 大大 提供的方法 技巧∼
ckp6250 大大 提供的 3 + 方式,小弟再試看看∼謝謝 |
|
回頂端 |
|
|
perry
註冊時間: 2014-07-20 文章: 203
第 38 樓
|
發表於: 星期日 七月 20, 2014 2:04 pm 文章主題: |
|
|
代碼: |
PRIV wher_str,AX_A,AX_D
SELE 0
AX_A='Z'+RIGH(SYS(2015),7)
SELE MOUNT,DDATE,00000000 AS R_N FROM YourTab GROU BY DDATE ORDE BY DDATE INTO DBF (AX_A)
GO TOP
REPL ALL R_N WITH RECNO()
SELE 0
AX_D='Z'+RIGH(SYS(2015),7)
wher_str='A.R_N>2 AND A.MOUNT>0'+;
' AND B.R_N=A.R_N-1 AND B.MOUNT>0'+;
' AND C.R_N=A.R_N-2 AND C.MOUNT>0'
SELE A.* FROM (AX_A) A,(AX_A) B,(AX_A) C WHER &wher_str INTO CURS (AX_D)
GO TOP
BROW
USE IN (AX_A)
USE IN (AX_D)
ERAS (AX_A)+'.DBF'
|
|
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 39 樓
|
發表於: 星期日 七月 20, 2014 2:46 pm 文章主題: |
|
|
amd 寫到: |
索引 我覺得是對 foxpro 傳統的 搜尋 (seek ..) 較有差!
|
看起來,頭腦還是沒有清醒
不過、反正事情解決了就好! |
|
回頂端 |
|
|
foxy
註冊時間: 2007-08-16 文章: 245 來自: 泰國
第 40 樓
|
發表於: 星期一 七月 28, 2014 11:47 pm 文章主題: |
|
|
如果連網使用,可以把 cursor 存到分機的TEMP folder 裡面來,就可提升速度
select * from table1 into table (addbs(sys(2023))+sys(2015))
INDEX ON ...
....
SEEK ... _________________ 進銷存+生產製造+會計+員工薪資+CRM+POS零售+餐廳手機app+電商手機app+電商網站,物流系統. 正/簡體中文,英,日,泰,緬甸文. MS SQL Server + 前台 VFP + PHP 網站 + Flutter 手機 App, 都共享 MS SQL Server的資料. www.foxacc.com LINE: mike-lm |
|
回頂端 |
|
|
|