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

SQL語法一問

 
7-11
一般會員


發表:53
回覆:33
積分:16
註冊:2005-12-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-08-01 17:14:25 IP:220.130.xxx.xxx 未訂閱

SELECT OIL_CK8.*,
(CASE OIL_CK8.TYPE WHEN 'Y' THEN '贈品' ELSE '販售' End) as CTYPE,
(CASE OIL_CK8.CNUM WHEN '05' THEN '九五'
WHEN '02' THEN '九二'
WHEN '03' THEN '九八'
WHEN '04' THEN '柴油' END) AS SNUM,
STNNAME1 = (SELECT NAME FROM STATION WHERE STNID = OIL_CK8.STNID),
STNNAME2 = (SELECT NAME FROM STATION WHERE STNID = OIL_CK8.STNID2),
REMARK2 = (SELECT REMARK2 FROM OIL_CK7 WHERE SQID < SubString(OIL_CK8.QID,1,7) AND EQID > SubString(OIL_CK8.QID,1,7) AND MONEY = SubString(OIL_CK8.QID,8,4))
FROM OIL_CK8,STATION WHERE OIL_CK8.STNID = 'BJG023' AND OIL_CK8.PDATE2='20060718'

為何我這段語法所查詢出來的每個值會重複30筆

例: 000112345678 重複了30次

000112555678 又重複了30次

pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-08-01 17:59:18 IP:60.248.xxx.xxx 未訂閱

應該資料確實有那麼多筆,只是您組資料時,碰巧組成雷同的字串,

或許可以在此條件多限定一些

>WHERE OIL_CK8.STNID = 'BJG023' AND OIL_CK8.PDATE2='20060718'

7-11
一般會員


發表:53
回覆:33
積分:16
註冊:2005-12-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-08-01 22:00:19 IP:220.130.xxx.xxx 未訂閱

資料我非常肯定只有 22筆 所以才會頭痛

嗚~神阿救救我ㄚ~差這部分報表就完成了~要帶女朋友出去玩說~ >_<"


===================引 用 文 章===================

應該資料確實有那麼多筆,只是您組資料時,碰巧組成雷同的字串,

或許可以在此條件多限定一些

>WHERE OIL_CK8.STNID = 'BJG023' AND OIL_CK8.PDATE2='20060718'

pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2006-08-02 07:40:00 IP:59.112.xxx.xxx 未訂閱

這兩個Table的Join條件,沒看到在Where後有限制

>FROM OIL_CK8,STATION

7-11
一般會員


發表:53
回覆:33
積分:16
註冊:2005-12-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2006-08-02 09:08:07 IP:220.130.xxx.xxx 未訂閱

謝謝喔~改成這樣就好了!

SELECT OIL_CK8.*,
(CASE OIL_CK8.TYPE WHEN 'Y' THEN '贈品' ELSE '販售' End) as CTYPE,
(CASE OIL_CK8.CNUM WHEN '05' THEN '九五'
WHEN '02' THEN '九二'
WHEN '03' THEN '九八'
WHEN '04' THEN '柴油' END) AS SNUM,
STNNAME1 = (SELECT NAME FROM STATION WHERE STNID = OIL_CK8.STNID),
STNNAME2 = (SELECT NAME FROM STATION WHERE STNID = OIL_CK8.STNID2),
REMARK2 = (SELECT REMARK2 FROM OIL_CK7 WHERE SQID < SubString(OIL_CK8.QID,1,7) AND EQID > SubString(OIL_CK8.QID,1,7) AND MONEY = SubString(OIL_CK8.QID,8,4))
FROM OIL_CK8,STATION WHERE OIL_CK8.STNID = 'BJG023' AND OIL_CK8.PDATE2='20060718'

---->FROM OIL_CK8,STATION WHERE OIL_CK8.STNID = 'BJG023' AND OIL_CK8.STNID = STATION.STNID AND OIL_CK8.PDATE2='20060718'
===================引 用 文 章===================

這兩個Table的Join條件,沒看到在Where後有限制

>FROM OIL_CK8,STATION

系統時間:2024-05-17 19:03:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!