假如2个人回复一个帖子
A=第一个人 B等于第二个人
A回复1 3 5 7
B回复2 4 6 8
现在判断的是
我是B 现在到了9楼 我要判断8楼是不是我
是我就不执行 设置时钟等待一会再执行
但现在我看了网页代码中
没有可以判断的东西 自己没思路
楼层肯定不能判断
名字判断的话 8楼是我 呢 4楼 6楼 也是我 不知道怎么个思路
然后还能判断什么?
A=第一个人 B等于第二个人
A回复1 3 5 7
B回复2 4 6 8
现在判断的是
我是B 现在到了9楼 我要判断8楼是不是我
是我就不执行 设置时钟等待一会再执行
但现在我看了网页代码中
没有可以判断的东西 自己没思路
楼层肯定不能判断
名字判断的话 8楼是我 呢 4楼 6楼 也是我 不知道怎么个思路
然后还能判断什么?
解决方案 »
- C# 类库怎么引用session
- WPF的RichTextBox如何赋值给它
- c#中串口数据接收事件和线程同步问题
- gridview的SelectedIndexChanged
- FtpWebRequest如何下载文件名称相似的多个文件?
- 一个odbcconnection 的问题
- 用 VS windows应用程序 用C#设计个计算器
- 如何在DATA序列化/反序列化后还能保持rowstate以便于UPDATE?
- winform ocx问题
- 如何做到像pb中的那样对进行表格中的数据进行验证,100分。
- DataGridView数据源为空记录集时以及SelectionChanged事件的处理方法
- 二位数组与交错数组
假设——
/* 这里为表结构:
回复人 楼层编号 帖子id .......
A 1 1
A 3 1
A 5 1
A 7 1
B 2 1
B 4 1
B 6 1
B 8 1
*/declare @tb table
(
回复人 varchar(5),
楼层编号 int,
帖子id int
);
INSERT INTO @tb SELECT 'A', 1, 1 UNION ALL
SELECT 'A', 3, 1 UNION ALL
SELECT 'A', 5, 1 UNION ALL
SELECT 'A', 7, 1 UNION ALL
SELECT 'B', 2, 1 UNION ALL
SELECT 'B', 4, 1 UNION ALL
SELECT 'B', 6, 1 UNION ALL
SELECT 'B', 8, 1 DECLARE @currentReply varchar(10);
SET @currentReply = 'B'
if exists( select 1
from @tb
where(
case
when (select MAX(楼层编号) from @tb t where 回复人 = @currentReply) = (select MAX(楼层编号) from @tb) then 1
else 0 end) = 1
)
--执行延迟插入
print '1' --测试输出
ELSE
--插入最大MAX(楼层编号)+1和当前回复人
print '0' --测试输出试试看可否满足你的要求?
(
回复人 varchar(5),
楼层编号 int,
帖子id int
);
INSERT INTO @tb SELECT 'A', 1, 1 UNION ALL
SELECT 'A', 3, 1 UNION ALL
SELECT 'A', 5, 1 UNION ALL
SELECT 'A', 7, 1 UNION ALL
SELECT 'B', 2, 1 UNION ALL
SELECT 'B', 4, 1 UNION ALL
SELECT 'B', 6, 1 UNION ALL
SELECT 'B', 8, 1 DECLARE @currentReply varchar(10);
SET @currentReply = 'B'
if exists( select 1
from @tb
where(
case
when (select MAX(楼层编号) from @tb t where 回复人 = @currentReply) = (select MAX(楼层编号) from @tb) then 1
else 0 end) = 1
)
--执行延迟插入
print '1' --测试输出
ELSE
--插入最大MAX(楼层编号)+1和当前回复人
print '0' --测试输出可直接在查询分析器里面运行,模拟回复人A或者B进行下一次回复