作者TonyQ (骨头)
看板Database
标题Re: [SQL ] 关联查寻
时间Tue Sep 26 11:24:37 2006
※ 引述《dragon2 ()》之铭言:
: ※ 引述《TonyQ (骨头)》之铭言:
: 用group的时候,除了group by的栏位外其他都必须是集合栏位
: 所以句子要改为如下才不会有语法错误:
: SELECT sum(NUMS) AS 总数量,总计 FROM A group by TXDAYS,SHON having
: SHON in (select SHON from B )
: and (TXDAYS >='2006/07/07') and TXDAYS <='2006/08/01" ;
: 但这结果可能不是你要的,那就要这样:
: SELECT sum(View_A.NUMS) AS 总数量, sum(View_A.总计) FROM
: (SELECT NUMS,总计 FROM A WHERE SHON in (select SHON from B)
: and TXDAYS >='2006/07/07' and TXDAYS <='2006/08/01') AS View_A
: group by TXDAYS;
: 逻辑上等於於先设一个view把不符的过滤掉再group by,只是也能用一个sql完成ꘊ
非常感谢 o(_ _)o 原来设成view_A就可以解决问题了
不过第二段的语法有error
我猜是view没有包含到group by所引用的TXDAYS
SELECT sum(View_A.NUMS) AS 总数量, sum(View_A.总计) FROM
(SELECT
TXDAYS,NUMS,总计 FROM A WHERE SHON in (select SHON from B)
and TXDAYS >='2006/07/07' and TXDAYS <='2006/08/01') AS View_A
group by TXDAYS;
目前测过已能解决问题 , 这问题已经困扰我两个晚上了...T_T
感谢这位大大的不吝解惑...
--
String temp="relax"; | Life just like programing
while(buringlife) String.forgot(temp); | to be right or wrong
while(sleeping) brain.setMemoryOut(); | need not to say
stack.push(life.running); | the complier will
stack.push(scouting.buck()); | answer your life
stack.push(bowling.pratice()); | Bone
everything
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.134.27.68
1F:推 dragon2:对对 要加TXDAYS 09/26 12:07
2F:推 PsMonkey:才两个晚上阿... [茶] 09/26 12:36
3F:推 TonyQ:一个不过才两千块的电子报表 两个晚上够多了 == == 09/26 12:59