- 論壇徽章:
- 0
|
謝謝apile
謝謝apile  
不過我寫了個(gè)巨呆的一個(gè):
SELECT
DISTINCT to_char(mem_reg.regist_date,'yyyymmdd') AS date,
((
SELECT
COUNT(*)
FROM
member_regist_table AS regist
WHERE
regist.service_id = 1 and
regist.carrier_id = 1 and
to_char(regist.regist_date,'yyyymmdd') = to_char(mem_reg.regist_date,'yyyymmdd')
) +
(
SELECT
COUNT(*)
FROM
member_unregist_log AS unregist
WHERE
unregist.service_id = 1 and
unregist.carrier_id = 1 and
to_char(unregist.regist_date,'yyyymmdd') = to_char(mem_reg.regist_date,'yyyymmdd')
)) AS regist,
( SELECT
COUNT(*)
FROM
member_unregist_log AS unregist
WHERE
unregist.service_id = 1 and
unregist.carrier_id = 1 and
to_char(unregist.regist_date,'yyyymmdd') = to_char(mem_reg.regist_date,'yyyymmdd')
) AS unregist,
((
SELECT
COUNT(*)
FROM
member_regist_table AS regist
WHERE
regist.service_id = 1 and
regist.carrier_id = 1 and
to_char(regist.regist_date,'yyyymmdd') = to_char(mem_reg.regist_date,'yyyymmdd')
) +
(
SELECT
COUNT(*)
FROM
member_unregist_log AS unregist
WHERE
unregist.service_id = 1 and
unregist.carrier_id = 1 and
to_char(unregist.regist_date,'yyyymmdd') = to_char(mem_reg.regist_date,'yyyymmdd')
) -
(
SELECT
COUNT(*)
FROM
member_unregist_log AS unregist
WHERE
unregist.service_id = 1 and
unregist.carrier_id = 1 and
to_char(unregist.regist_date,'yyyymmdd') = to_char(mem_reg.regist_date,'yyyymmdd')
)) AS change,
((
SELECT
COUNT(*)
FROM
member_regist_table AS regist
WHERE
regist.service_id = 1 and
regist.carrier_id = 1 and
to_char(regist.regist_date,'yyyymmdd') <= to_char(mem_reg.regist_date,'yyyymmdd')
) +
((
SELECT
COUNT(*)
FROM
member_unregist_log AS unregist
WHERE
unregist.service_id = 1 and
unregist.carrier_id = 1 and
to_char(unregist.regist_date,'yyyymmdd') <= to_char(mem_reg.regist_date,'yyyymmdd')
) -
(
SELECT
COUNT(*)
FROM
member_unregist_log AS unregist
WHERE
unregist.service_id = 1 and
unregist.carrier_id = 1 and
to_char(unregist.unregist_date,'yyyymmdd') <= to_char(mem_reg.regist_date,'yyyymmdd')
))) as validator,
((
SELECT
COUNT(*)
FROM
member_regist_table AS regist
WHERE
regist.service_id = 1 and
regist.carrier_id = 1 and
to_char(regist.regist_date,'yyyymmdd') <= to_char(mem_reg.regist_date,'yyyymmdd')
) +
(
SELECT
COUNT(*)
FROM
member_unregist_log AS unregist
WHERE
unregist.service_id = 1 and
unregist.carrier_id = 1 and
to_char(unregist.regist_date,'yyyymmdd') <= to_char(mem_reg.regist_date,'yyyymmdd')
)) AS total
FROM
member_regist_table as mem_reg
WHERE
to_char(mem_reg.regist_date,'yyyymmdd') <= '20060406'
AND to_char(mem_reg.regist_date,'yyyymmdd') >= '20060401'
ORDER BY
to_char(mem_reg.regist_date,'yyyymmdd') ASC
功能可以實(shí)現(xiàn),就是比較傻一點(diǎn)
不知道有沒有更好的辦法! 
[ 本帖最后由 luol_001 于 2006-4-26 13:29 編輯 ] |
|