日期:2014-05-17  浏览次数:20553 次

通过代码返回中文的问题,在线等!
基础表 
select * from unit

返回值为
1.0000 001 台 00
1.0000 002 座 00
1.0000 003 辆 00
1.0000 004 艘 00
1.0000 007 个 00
1.0000 035 千克
现有下面一条查询语句
SELECT d.UNIT_1,d.G_QTY,d.G_UNIT FROM DEC_I_LIST d

51.00000 035 035
145.00000 035 001
1150.00000 001 035
270.00000 035 007
34.00000 035
我要实现,当代码为035时,返回值就显示千克,当为007时就显示个,算是基础问题了呵呵

------解决方案--------------------
引用:
SELECT
d.G_NAME,d.CODE_T,d.CODE_S,d.G_MODEL,d.QTY_1,d.UNIT_1,d.DECL_PRICE,d.DECL_TOTAL,d.TRADE_CURR,
d.G_QTY,(select unit_name from unit where e.unit_code=d.g_unit) g_unit,
d.EXG_VERSION,d.EXG_NO,d.USE_TO,d.QTY_2,(select unit_name from unit where e.unit_code=d.unit_2) unit_2,
d.ORIGIN_COUNTRY,d.DUTY_MODE FROM DEC_I_LIST d,DEC_I_HEAD a,unit e
where a.SEQ_NO=d.SEQ_NO 


所影响的行数为 6 行)

服务器: 消息 512,级别 16,状态 1,行 1
子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
在最后把unit这个表去掉试下