单号 合同号 工厂号 面料123 合计
0725-531 307021 TB22116-82 绿色 4
0725-532 307021 TB22116-82 土黄 5
0725-533 307021 TB22111-89 兰色 10
0725-534 307021 TB22111-89 黑色 9
0725-535 307021 TB2207-97 米色 6
0725-536 307021 TB2207-97 兰色 6
0725-537 307021 TB2202-97 米色 90
0725-538 307021 TB2202-97 绿色 30
0725-539 307021 TB2202-97 黑色 180
0725-540 307021 TB2258-81 土黄 240
0725-541 307021 TB2258-81 桔色 180
0725-542 307021 TB2207-97 米色 240
0725-543 307021 TB2207-97 兰色 240
0725-544 307022 TB2258-81 绿色 60
0725-545 307022 TB2258-81 土黄 120
0725-546 307022 TB2258-81 桔色 120
0725-556 307005 TB2205-68 红色 60
0725-557 307005 TB2205-68 兰色 60
0725-558 307006 TB2258-81 桔色 60
0725-559 307006 TB2258-81 土黄 90
0725-560 307006 TB2258-81 黑色 120
0725-561 307007 TB22116-82 绿色 90
0725-562 307007 TB22116-82 土黄 90
0725-563 307007 TB22116-82 黑色 120
我想让:首先单号排序,当后面有工厂号和此单号的工厂号一样时,就把此行
拉到前面来,即
单号 合同号 工厂号 面料123 合计
0725-531 307021 TB22116-82 绿色 4
0725-532 307021 TB22116-82 土黄 5
0725-561 307007 TB22116-82 绿色 90
0725-562 307007 TB22116-82 土黄 90
0725-563 307007 TB22116-82 黑色 120
0725-533 307021 TB22111-89 兰色 10
0725-534 307021 TB22111-89 黑色 9
0725-535 307021 TB2207-97 米色 6
0725-536 307021 TB2207-97 兰色 6
0725-537 307021 TB2202-97 米色 90
0725-538 307021 TB2202-97 绿色 30
0725-539 307021 TB2202-97 黑色 180
0725-542 307021 TB2207-97 米色 240
0725-543 307021 TB2207-97 兰色 240
0725-540 307021 TB2258-81 土黄 240
0725-541 307021 TB2258-81 桔色 180
0725-544 307022 TB2258-81 绿色 60
0725-545 307022 TB2258-81 土黄 120
0725-546 307022 TB2258-81 桔色 120
0725-558 307006 TB2258-81 桔色 60
0725-559 307006 TB2258-81 土黄 90
0725-560 307006 TB2258-81 黑色 120
0725-556 307005 TB2205-68 红色 60
0725-557 307005 TB2205-68 兰色 60不知道此时的ORDER BY 怎么写啊,或者有什么其它的办法吗
0725-531 307021 TB22116-82 绿色 4
0725-532 307021 TB22116-82 土黄 5
0725-533 307021 TB22111-89 兰色 10
0725-534 307021 TB22111-89 黑色 9
0725-535 307021 TB2207-97 米色 6
0725-536 307021 TB2207-97 兰色 6
0725-537 307021 TB2202-97 米色 90
0725-538 307021 TB2202-97 绿色 30
0725-539 307021 TB2202-97 黑色 180
0725-540 307021 TB2258-81 土黄 240
0725-541 307021 TB2258-81 桔色 180
0725-542 307021 TB2207-97 米色 240
0725-543 307021 TB2207-97 兰色 240
0725-544 307022 TB2258-81 绿色 60
0725-545 307022 TB2258-81 土黄 120
0725-546 307022 TB2258-81 桔色 120
0725-556 307005 TB2205-68 红色 60
0725-557 307005 TB2205-68 兰色 60
0725-558 307006 TB2258-81 桔色 60
0725-559 307006 TB2258-81 土黄 90
0725-560 307006 TB2258-81 黑色 120
0725-561 307007 TB22116-82 绿色 90
0725-562 307007 TB22116-82 土黄 90
0725-563 307007 TB22116-82 黑色 120
我想让:首先单号排序,当后面有工厂号和此单号的工厂号一样时,就把此行
拉到前面来,即
单号 合同号 工厂号 面料123 合计
0725-531 307021 TB22116-82 绿色 4
0725-532 307021 TB22116-82 土黄 5
0725-561 307007 TB22116-82 绿色 90
0725-562 307007 TB22116-82 土黄 90
0725-563 307007 TB22116-82 黑色 120
0725-533 307021 TB22111-89 兰色 10
0725-534 307021 TB22111-89 黑色 9
0725-535 307021 TB2207-97 米色 6
0725-536 307021 TB2207-97 兰色 6
0725-537 307021 TB2202-97 米色 90
0725-538 307021 TB2202-97 绿色 30
0725-539 307021 TB2202-97 黑色 180
0725-542 307021 TB2207-97 米色 240
0725-543 307021 TB2207-97 兰色 240
0725-540 307021 TB2258-81 土黄 240
0725-541 307021 TB2258-81 桔色 180
0725-544 307022 TB2258-81 绿色 60
0725-545 307022 TB2258-81 土黄 120
0725-546 307022 TB2258-81 桔色 120
0725-558 307006 TB2258-81 桔色 60
0725-559 307006 TB2258-81 土黄 90
0725-560 307006 TB2258-81 黑色 120
0725-556 307005 TB2205-68 红色 60
0725-557 307005 TB2205-68 兰色 60不知道此时的ORDER BY 怎么写啊,或者有什么其它的办法吗
order by 工厂号,单号
WHEN CASE 好象不行
怎么弄游标,先按单号排序,判断如果后面有这个型体拉到前面来
order by 单号
WHEN CASE 好象不行
怎么弄游标,先按单号排序,判断如果后面有这个工厂号拉到前面来
;with cte as
(
select 'A1' as 工厂号,1 as orderflag union all
select 'A2',2
)select a.*
from tb a join cte b on a.工厂号 = b.工厂号
order by b.orderflag,a.单号
先按单号排序,判断如果后面有这个工厂号拉到前面来
理想的是这样的:(按单号分组,其中组里面第一个单号,按顺序排列)
group by 工厂号
order by 单号
上面语句group by肯定会有错误还是不行啊
我急着要写到VB里面的,谢谢大虾
大哥大姐们,帮帮我哇,SQL 初学者啊
我急用,帮我写全点啊,
只要SQL server运行通过就行了哇
拉到前面来】a记录后面有b、c记录的工厂号和a单号的工厂号一样
也意味着
b记录后面有a、c记录的工厂号和b单号的工厂号一样
c记录后面有b、a记录的工厂号和c单号的工厂号一样
那a、b、c都可以拉到前面了
when case可用
--单号 合同号 工厂号 面料123 合计
select a.* from tb a,(select 工厂号,min(单号) as 单号 from tb group by 工厂号) as b where a.工厂号=b.工厂号 order by b.单号,a.工厂号,a.单号