http://topic.csdn.net/u/20091113/10/e1906fbb-116f-490f-8d4c-83e1bd4f1d87.html
这个帖子里的sql是你给写的。。
但有个小问题。
结果数据按你sql上写的是:
SO_NBR                     COL1       COL2
-------------------- ---------- ----------
200153000515             100516          1
200153000515             100516          1
200153000516             100501          1
200153000516             100501          1
但有时会出现 col2的id用col1的给补上了,也就是说 col2的为null的话,它会自动用同一行的col1的值补上
例如:
SO_NBR                     COL1       COL2
-------------------- ---------- ----------
200153000515             100516          1
200153000515             100516          100516
200153000516             100501          1
200153000516             100501          1像上面这个样子。而且有时col2有两条数据 ,例如 200153000516 那样,col1的数据你也知道,是从主表中关联过来的。
------------------------------------------
主表:我的意思是说,如果so_charge_type_id上的 ,5位长度的,例如:99999对应中间表里的newid是1,99993对应的newid是2
而就有一个3位长的,对应中间表里的是100516 这样的话就会出现如下情况:
SO_NBR                     COL1       COL2
-------------------- ---------- ----------
200153000515             100516          1
200153000515                             2
200153000516             100501          1
200153000516             100501          1第二行的col1中为null,我的意思就是如果col1里的其中一个字段是null的话,那就用同组的col1值来替代,而col2里的值如果有null的话就让它空着,不要用col1里的值来替代。那天你给写的sql在下面连接里:
http://topic.csdn.net/u/20091112/14/a5c92d3c-9b15-47de-8142-5793e32d7a37.html
http://topic.csdn.net/u/20091113/10/e1906fbb-116f-490f-8d4c-83e1bd4f1d87.html麻烦   liusong_china 给看看 谢谢···!