表A myid prid
a0001 1245
a0001 2546
a0002 5869
a0002 5896
a0003 5894
a0003 5896
***** ****表B
myid prid
a001
a002
a003
表A與表b通過MYID關聯,將表A的prid中的任意一條更新到表B的PRID
重點:如果PRID己經更新過的號碼就不能再取同一個號碼,也就是表B
的PRID不能重復
a0001 1245
a0001 2546
a0002 5869
a0002 5896
a0003 5894
a0003 5896
***** ****表B
myid prid
a001
a002
a003
表A與表b通過MYID關聯,將表A的prid中的任意一條更新到表B的PRID
重點:如果PRID己經更新過的號碼就不能再取同一個號碼,也就是表B
的PRID不能重復
解决方案 »
- 一个巨简单的问题
- 多条件查询存储过程问题
- 关于@@IDENTITY的问题
- 以下两个SQL语句哪个更符合SQL-92标准?
- 我想要求一个算法,就是每当传入一个日期的时候就把与这个日期最接近的两个值取出来???
- 怎么使别人进入不了企业管理器呀
- sql查询设计
- 安装 SQL2008问题,错误 HRESULT: 0x800736FD
- 把co1 中b行对应的字符填到co1行中
- sybase下的SELECT问题!
- SQLSERVER 2005 64BIT连接ORACLE 没有(MICROSOFT OLE DB PROVIDER FOR ORACLE)
- *********** xml解析问题 **************
update b
set prid = max(a.prid)
from a
where a.myid = b.myid and a,prid <> b.prid
update b
set prid = max(a.prid)
from a
where a.myid = b.myid and a,prid <> isnull(b.prid,0)
update b
set prid = (select top 1 prid from a where a.myid = b.myid and a.prid <> isnull(b.prid,0))
这句话是不对的,不是任意一条。因为如果a0001 有2个 prid 分别是 1 , 2 a0002 有1个 prid 是1; 那么你a0001 只能取2,而不能取1.
所以这个问题是个算法问题了