易截截图软件、单文件、免安装、纯绿色、仅160KB

求一个sql查询语句 - MS-SQL Server / 基础类

A, id, attributes
  1, 1001,12;1002,45
  2, 1002,14;1003,54
B, id,name
  1001,无敌
  1002,弱
  1003,强悍
A中attributes字段是有多个B数据表的id和值组成的,

现在我想在select,的时候把他的name和值一起显示;
  1,无敌,12;弱,45
  2, 弱,14;强悍,54

语句该怎么写

SQL code:
left join


SQL code:
--> 生成测试数据表: [A]
IF OBJECT_ID('[A]') IS NOT NULL
DROP TABLE [A]
GO
CREATE TABLE [A] ([id] [int],[attributes] [nvarchar](20))
INSERT INTO [A]
SELECT '1','1001,12;1002,45' UNION ALL
SELECT '2','1002,14;1003,54'

--> 生成测试数据表: [B]
IF OBJECT_ID('[B]') IS NOT NULL
DROP TABLE [B]
GO
CREATE TABLE [B] ([id] [int],[name] [nvarchar](10))
INSERT INTO [B]
SELECT '1001','无敌' UNION ALL
SELECT '1002','弱' UNION ALL
SELECT '1003','强悍'

--SELECT * from [A]
--SELECT * from [B]

-->SQL查询如下:
IF OBJECT_ID('[fn_test]') IS NOT NULL
DROP FUNCTION [fn_test]
GO
CREATE FUNCTION [fn_test](
@S VARCHAR(200)
)RETURNS VARCHAR(200)
AS
BEGIN
SELECT @S=REPLACE(@S,LTRIM([id]),NAME) from B
RETURN @S
END
GO

SELECT id,[attributes]=dbo.[fn_test]([attributes]) from A
/*
id


相关问答:

SQL如何优化问题 - MS-SQL Server / 疑难问题

今天做了一个存储过程   环境是SQL2000数据库  
大致如下
建立临时表
定义员工游标
        循环员工(属于1个公司)  
        ......

关于Vb中sql语句的写法(100分) - Java / Web 开发

求个vb中的sql语句的写法,次sql语句的用法是分页程序
我写的如下:其中A是用来接收每页显示的记录的条数,B是用来接收显示的当前的页面.
sqltext="select top A * from log where id not in(select top ( ......

求一条SQL语句 - MS-SQL Server / 应用实例

原SQL语句SQL code:

SELECT t6.FName '操作工',t1.FDate '日期',t5.FName '制单人',t3.FName '设备',t4.FName '班制',
t7.FBillNo '工艺指令单号',t8.FName '岗位',t2. ......

求一时间比较的SQL 指令 - MS-SQL Server / 基础类

表数据
COL1 COL2 COL2 COL4 COL5
----------------------------------------------------------------------------------------------
2010-05-05 00:00 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号