作者AYUREADY7 (Are You Ready?)
看板Database
标题[SQL ] 请问关於资料表合并?
时间Mon Apr 23 16:15:01 2007
环境 VS2005 SQLSERVER2005 EXPRESS
表A
DAY | MATH-1 | MATH-2
---------------------
02 | 70 | 10
02 | 30 | 60
02 | 80 | 40
表B
DAY | ENG-1 | ENG-2
-------------------
02 | 90 | NULL
02 | 80 | NULL
02 | 70 | NULL
02 | 50 | NULL
02 | NULL | 80
SELECT cast (round((Min(((表A.MATH-1 )+(表A.MATH-2))/6)) ,0) as int) as MATH, " & _
"(sum (isnull(表B.ENG-1,0))) as ENG " & _
"FROM 表A INNER JOIN 表B ON 表A.DAY = 表B.DAY " & _
"WHERE (表A.DAY = '" + DropDownList1.SelectedValue + "') "
执行合并後
MATH | ENG
----------------
13 | 870
正确应为
MATH | ENG
----------------
13 | 290
为何ENG的值会多乘表A的资料行数目3
难道INNER不能同时执行不同资料数的SUM及MIN等的函式?
还请各位先进解答
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.231.148.117