从以上罗列的史料看,关于这次战役记载还是比较丰富的,但问题是,记载要么过于简略,要么过于零碎,使这次战役的整个完整过程始终笼罩在一层迷雾中。李焘在编《续资治通鉴长编》的时候,就因此而一再存疑。但通过综合分析,我们未尝不能从纷繁的史料中理出这次战役的脉络来。 史料分析: 首先,战役发起的时间和地点。关于时间,《辽史》中有简略的记载,只在是年十月十六日(甲寅)在遂城(即宋之威虏军)有一次交战记录。而宋方记载中此日同样有交战记录,并且《长编》以张斌的奏捷记录记载为此日张斌长城口之战,出自第一手资料,可信度是很高的。因此,十月十六日(甲寅)双方有过交战是可以肯定的。但在此日的战事发生地点上就出现了疑问,按《辽史》,双方交战地点在遂城(威虏军),而按宋方记录,则可以肯定在威虏军西北边境附近的长城口。 而在宋方的记载中,还出现了其他交战记录,如《宋会要辑稿》中,在记载了张斌长城口之战后,又记载了在威虏军击败辽军,杀大王、统军二人,辽军二万人。然只系在十月下,未书日期。然后在十一月又记载了与辽军的一场战斗,杀辽军二万,并阵斩辽军十五名高级将领,但这次不但没书日期,连战斗发生的地点也没写。《太平治迹统类》中也有这条记载,不过梢略,又如《皇宋十朝纲要》,在十月条下记载了张斌长城口之战后,在十一月初五(壬申)记载了与《宋会要辑稿》十一月相呼应的记录。似乎双方在十一月初五(壬申)真打过这么一仗。但《辽史》中记载,辽军在十月二十八日(丙寅)就因为泥淖的原故从满城回师了。那么就算辽军走得再慢,等到了7天后的十一月五日,怕也早走得远了。 而无论宋方的哪条记载,我们都可以看到,张斌长城口之战是宋军在天气有利的情况下以弱势兵力突袭辽军大队,在取得一定战果后又遭遇到辽军的强力反扑,被迫撤退。就战术上来说,尚可算是小有成绩,但说杀对方二万人和十五名高级将领,则是绝对不可能的。因此,记载中的战果很明显不是张斌长城口之战的战果。 正因为事情变得如此扑朔迷离,才使得某些人在提到这个战役时开口就说宋方作伪,虚报战功。但事实是这样的吗? 李焘在《长编》里提出了自己的疑问,同时也提供了资料的来源。也就是他提供的这些资料来源,使我们在破除这重重迷雾的道路上走出了第一步。 按李焘的记载,在十月十六日之后,宋方前线的上奏共有这么几条:十月二十三日(辛酉),张斌长城口之战奏捷到京,十月二十五日(癸亥),知雄州何承矩上奏侦察得知宋军击败于辽军威虏军,杀大王、统军二人,辽军二万人。雄州在威虏军之东,这次战役中并非辽军入侵的目标,因此何承矩需要侦察得知战场的情况,战报来得稍晚也是正常的。不过在这里就有疑问产生了,何上报的侦察得到的战果是张斌长城口之战的战果吗?——不是!地点不对,一在长城口,一是威虏军。而且上面也提到张斌长城口之战是不可能有杀敌军两万的战果的。而何奏中提到的战场威虏军,却恰好与《辽史》中记载的遂城完全吻合——真相的轮廓已经渐渐显露出来了。 接下来。在《宋史》真宗纪中有一条记载很有意思。“十一月壬申……王显奏破契丹,戮二万人,获统军铁林等。”。十一月初五(壬申),正是《皇宋十朝纲要》记载大破契丹的日子。再接下来,按《长编》中李焘提供的资料。十一月初九(丙子),王显遣寄班夏守贇驰骑入奏报捷。称十月十六日(甲寅)宋军前军与辽军大战,大败辽军,杀辽军二万,并阵斩辽军十五名高级将领。——于是真相完全浮出水面。在十月十六日(甲寅),宋辽之间并非只有张斌长城口之战一次接触,而确实有过大战,战场就在威虏军。而《宋会要辑稿》是把十月二十三日(辛酉)张斌上奏、十月二十五日(癸亥)何承矩上奏和十一月初九(丙子)王显上奏这三次上奏按顺序抄了一遍,不过却按照上奏到京的时间分别系月,于是发生在一天的战事就被拆成了三个时间的三场战斗。而《皇宋十朝纲要》、《太平治迹统类》的记载是分别记录了十月二十三日(辛酉)和十一月初五(壬申)两次奏捷,其效果是相同的——将同一天发生的战事拆成了两个月的事。这一切在我们通过了解三次上奏的内容才得到还原。