"Chinese_PRC_BIN" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突。如何解决
CREATE TABLE #re	
	(TD001 varchar(50) NULL,--订单单别
	TD002 varchar(50) NULL,--订单单号
	TD003 varchar(50) NULL,--订单序号
	TD004 varchar(50) NULL,	--编码
	TD008 float NULL,--数量
	MB025 varchar(50) NULL,	--属性
	UDF02 varchar(50) NULL,	--印字
	MC005 varchar(50) NULL,	--工单单别
	LAYER int NULL,--层次
	TD014 varchar(250) NULL,-- 客户型号
	)
SELECT a.TD001,a.TD002,a.TD003,d.MD003,a.TD008*MD006/MD007*(1+MD008) AS TD008,
	  e.MB025,a.UDF02,c.MC005,2,a.TD014
	from #re a left join BOMMC c on a.TD004 = c.MC001 left join BOMMD d on c.MC001=d.MD001	
	     left join INVMB e on d.MD003=e.MB001 collate Chinese_PRC_CI_AI_WS  
	where  a.MB025 <> 'P'
以上代码老是报(消息 468,级别 16,状态 9,第 16 行
无法解决 equal to 运算中 "Chinese_PRC_BIN" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突。)错误, 我已经加了collate Chinese_PRC_CI_AI_WS ,但是没有效果,请高人指点,谢谢.
------解决方案-------------------- SQL code
1.将数据库的字符集修改为:
alter database dbname collate Chinese_PRC_CI_AS
2.
--1. 为数据库指定排序规则
CREATE DATABASE db COLLATE Chinese_PRC_CI_AS
GO
ALTER DATABASE db COLLATE Chinese_PRC_BIN
GO
更改一下排序规则看看
------解决方案--------------------  --修改一下字符集规则就可以了,统一字符集规则 alter database dbname collate chinese_PRC_CI_AS
------解决方案--------------------  你这是那个字段给那个字段冲突啊 如果是跟临时表的话,在临时表字段后面指定排序规则 SQL code
CREATE TABLE #re    
(TD001 varchar(50) NULL collate Chinese_PRC_CI_AI_WS--订单单别
)
------解决方案--------------------  探讨  我用 alter database kangda collate Chinese_PRC_CI_AS  结果如下 消息 5030,级别 16,状态 2,第 1 行 无法用排他锁锁定该数据库,以执行该操作。 消息 5072,级别 16,状态 1,第 1 行 ALTER DATABASE 失败。无法将数据库 'kangda' 的默认排序规则设置为 Chinese_PRC_CI_AS。 …… 
------解决方案--------------------  如果你的数据库在安装时设置(or默认)了某种排序规则,而你的db/table/store procedure等又是从别的地方直接迁移过来/备份还原过来的话,两种排序规则如果冲突,建议你直接重装数据库。。。 SQL2005以上,对已建好的table等修改排序规则很排斥的, 相信我,我碰到过。 如果只是个别的问题,可以直接删掉那个表,重建,或者在join时指定排序规则
------解决方案--------------------  在条件后面 强制指定 排序就行了
------解决方案--------------------  或 如果是数据库排序不一致,可改为相同 如果是列的排序不一致,可改为相同 操作可直接在企业管理器里改