我有3张表
A 表 B表 C表
ID CD MIN MAX ID CX1 CX2 CX3 ID XX
1 3 200 500 1 18 0 19 1
2 2 200 500 1 15 15 12 2
3 1 200 500 1 9 20 5 3
2 5 6 7
2 6 5 15 3 22 7 9我想让 B表的 3列 CX1 CX2 CX3 所有的植加在一起和 A表 的 MIN MAX 比较 如果比MIN小 那么就往C表的XX 里插入-1
如果比MAX大就往 C表里的XX 插入1
我是拿VS2005 和 SQL2000做的...
大家有什么简单的方法么? 我想过用dataTable 帮定A表 然后遍历每一行的 ID 然后在B表里的ID里面把植相加 在写入C表..
A 表 B表 C表
ID CD MIN MAX ID CX1 CX2 CX3 ID XX
1 3 200 500 1 18 0 19 1
2 2 200 500 1 15 15 12 2
3 1 200 500 1 9 20 5 3
2 5 6 7
2 6 5 15 3 22 7 9我想让 B表的 3列 CX1 CX2 CX3 所有的植加在一起和 A表 的 MIN MAX 比较 如果比MIN小 那么就往C表的XX 里插入-1
如果比MAX大就往 C表里的XX 插入1
我是拿VS2005 和 SQL2000做的...
大家有什么简单的方法么? 我想过用dataTable 帮定A表 然后遍历每一行的 ID 然后在B表里的ID里面把植相加 在写入C表..
value
(
select
a.id,
case when b1.total < a.min then -1
when b1.total > a.max then 1
else 0
end case as xx
from
(
select sum(cx1)+sum(cx2)+sum(cx3) as total,
id
from b
group by b.id
) b1,
a
where b1.id = a.id
)
value
(
select
a.id,
case when b1.total < a.min then -1
when b1.total > a.max then 1
else 0
end as xx
from
(
select id,
sum(c1)+sum(c2)+sum(c3) as total
from testb b
group by b.id
) b1,
testa a
where b1.id = a.id
)如果不想要 min, max 区间内的话,只要在where b1.id=a.id后面加上限制条件:
and (b1.total < a.min
or b1.total > a.max)
要完全按照A 表的ID 添加ID和植
你只要用 DbCommand.ExecuteNonQuery 该SQL就可以了。
在关键字 'select' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,行 20
第 20 行: ')' 附近有语法错误。
昏~!