如何实现 数据表中某字段 如果该字段值和它前面的一个字段值相同 则将其设为NULL 不同的话 则保留(200分)

  • 主题发起人 主题发起人 baby2321
  • 开始时间 开始时间
B

baby2321

Unregistered / Unconfirmed
GUEST, unregistred user!
“工作状态”字段里只有两种值: “上班” “下班”<br>数据表如下<br>编号 工作状态<br>1 &nbsp; &nbsp; &nbsp;上班<br>2 &nbsp; &nbsp; &nbsp;上班<br>3 &nbsp; &nbsp; &nbsp;下班<br>4 &nbsp; &nbsp; &nbsp;下班<br>5 &nbsp; &nbsp; &nbsp;上班<br>6 &nbsp; &nbsp; &nbsp;下班<br>7 &nbsp; &nbsp; &nbsp;下班<br>8 &nbsp; &nbsp; &nbsp;上班<br>9 &nbsp; &nbsp; &nbsp;上班<br>10 &nbsp; &nbsp; 上班<br>11 &nbsp; &nbsp; 下班<br>12 &nbsp; &nbsp; 下班<br><br>如何实现 工作状态 中的字段值 如果该字段值和它前面的一个字段值相同 则将其设为NULL 不同的话 则保留<br>如 希望结果如下:<br>编号 工作状态<br>1 &nbsp; &nbsp; &nbsp;上班<br>2 &nbsp; &nbsp; &nbsp;NULL &nbsp;//原来是 “上班”<br>3 &nbsp; &nbsp; &nbsp;下班<br>4 &nbsp; &nbsp; &nbsp;NULL &nbsp;//原来是 “下班”<br>5 &nbsp; &nbsp; &nbsp;上班<br>6 &nbsp; &nbsp; &nbsp;下班<br>7 &nbsp; &nbsp; &nbsp;NULL &nbsp;//原来是 “下班”<br>8 &nbsp; &nbsp; &nbsp;上班<br>9 &nbsp; &nbsp; &nbsp;NULL &nbsp;//原来是 “上班”<br>10 &nbsp; &nbsp; NULL &nbsp;//原来是 “上班”<br>11 &nbsp; &nbsp; 下班<br>12 &nbsp; &nbsp; NULL &nbsp;//原来是 “下班”<br><br>感谢!
 
设一个变量保存前一次的值,每次保存之前与此对比
 
sql.add('select &nbsp;工作状态 from table')<br>query.prepare;<br>query.open;<br>query.first;<br>for i:=0 to query.recordcount-1 do<br>if query=query[i+1] &nbsp;then<br>query[i+1]='';<br>数据集组件中的数据可以通过记录索引访问的,太久没弄数据库了。你去查下QUERY的访问格式
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
915
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部