如何在SQL数据库中截取字符串并且比较。

数据库中建了两个表,有一个记录商品浏览记录,另外一个记录商品信息。现在要建立一个视图,目的是为客户推荐商品。将浏览记录中的商品编号与商品信息中的商品编号比较,前4位相等的是同一种类别的商品。
怎样写语句

CREATE TABLE #商品信息(
CODE VARCHAR(8),
NAME VARCHAR(8)
);

CREATE TABLE #商品浏览记录(
CODE VARCHAR(8),
NAME VARCHAR(8)
);

INSERT INTO #商品信息
SELECT '00010001', '可乐' UNION ALL
SELECT '00010002', '汽水' UNION ALL
SELECT '00010003', '啤酒' UNION ALL
SELECT '00020001', '牙刷' UNION ALL
SELECT '00020002', '毛巾' UNION ALL
SELECT '00030001', '内存' UNION ALL
SELECT '00030002', 'CPU'
GO

INSERT INTO #商品浏览记录
SELECT '00010003', '啤酒' UNION ALL
SELECT '00030002', 'CPU'
GO

SELECT
g.*
FROM
#商品信息 g
JOIN
(SELECT DISTINCT SUBSTRING(CODE, 1, 4) FROM #商品浏览记录) v
ON (g.CODE LIKE v.CODE + '%')

CODE NAME
-------- --------
00010001 可乐
00010002 汽水
00010003 啤酒
00030001 内存
00030002 CPU

(5 行受影响)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-26
SUBSTRing(商品编码,0,4) 表示:从商品编码中取出从0位到第4位的字符。
相似回答