0 0

sql serve 2005 两张表关联的问题3

现在有两张表,我要做关联怎么做,问题如下
A表                                                            B表
ID    code    price                          ID     code       name
1      001      1.00                         1      001,002     aa
2      002      2.00                         2      003         bb   
3      003      3.00

如何才能得到这么一组数据

ID     code            name           price
1     001,002          aa             1.00
2       003             bb             3.00
我是这么写的

select b.code,b.name,a.price from A,B
where B.code like (select code from a)
提示我
消息 512,级别 16,状态 1,第 1 行
子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
应该如何做啊
2011年4月28日 09:35

6个答案 按时间排序 按投票排序

0 0

写一个函数对B的code进行拆分,然后再进行关联。
如果你的B表的code存储形式比较特别,存成,001,002,这种形式就好办了,
这样只需要进行字符串匹配就可以了
substr(B.code, ',' + A.code + ',')>0

2011年5月08日 16:06
0 0

select b.code,b.name,a.price from A,B
where B.code like A.code + '%'




2011年5月03日 17:13
0 0

select b.id
      ,b.code
      ,b.name
      ,a.price
  from B b
  left join A on a.id = b.id
                 and a.code = split(b.code,',')
union
select b.id
      ,b.code
      ,b.name
      ,a.price
  from B b
  left join A on a.code = b.code
看看有没有  split  这个函数啊,(我有几年没用过sql serve 2005了。)没有的话,就要自己写个函数来返回参数。

2011年4月28日 15:43
0 0

建议 先将 001,002 拆分, 再进行关联

2011年4月28日 13:31
0 0

like  不是这么用的

2011年4月28日 13:12
0 0

你这个SQL语法就错了。

2011年4月28日 12:25

相关推荐

    SQL实现两张无关联表的数据列合并在一张结果集中

    这里提到的“无关联表”意味着这两张表之间没有直接的关联字段或键值,因此不能直接通过JOIN等常规方式来实现数据的联接。为了完成这个任务,我们需要采用特定的技术手段。 #### 2. 分析示例代码 接下来,我们来...

    SQL Serve2005r的操作

    首先,我们来了解如何在SQL Server 2005中创建数据库和表。创建数据库是所有操作的基础,这可以通过SQL语句`CREATE DATABASE`实现。例如,你可以这样创建一个名为"MyDatabase"的新数据库: ```sql CREATE DATABASE ...

    sql多表关联查询,三表关联查询

    sql多表关联查询,三表关联查询

    浅谈Linq to sql 的多表关联与动态条件查询

    在本文中,我们将讨论 Linq to sql 的多表关联和动态条件查询这两个重要的知识点。 多表关联是指在一个查询中关联多个表,以便从多个表中提取数据。这在实际开发中非常常见,例如,我们需要从多个表中提取数据以...

    sqlserver 2000 2005

    里有msicuu2.exe,srvinstw.exe,前者是微软的卸载工具,后者是加载或卸载服务...以sql2005为例:先用msicuu2.exe卸载所有的sqlserver2005的应用程序,再卸载其服务,在用第三方软件清空注册表即可(我用的是优化大师)。

    SQL2005_用户_'sa'_登录失败。该用户与可信_SQL_Server_连接无关联

    ### SQL Server 2005 用户 'sa' 登录失败问题解析 #### 问题背景 在使用 Microsoft SQL Server 2005 数据库时,可能会遇到用户 'sa'(系统管理员账户)登录失败的情况。此类问题通常伴随着错误信息:“该用户与可信...

    ORACLE_多表关联_UPDATE_语句

    首先,我们有两张表:`customers`(客户资料表)和`tmp_cust_city`(临时客户城市表)。`customers`表存储客户的基本信息,包括客户标识、所在城市和客户类型,而`tmp_cust_city`表则包含了更准确的客户城市信息,...

    SqlServer2005 打开 SqlServer2008 mdf文件

    Sql Server 2005 打开 Sql Server 2008 mdf 文件数据库转换是指将 Sql Server 2008 中的数据库文件(mdf 文件)转换为 Sql Server 2005 可以识别的格式,以便在 Sql Server 2005 中使用。这种转换过程需要使用 Sql ...

    主从表关联问题

    一、使用视图meeting将多表关联整合在一起 二、通过Sql语句筛选数据 三、建立和主从表的关联 四、注意在CrystalReport1表中插入子报表的时候,一定要将主从表的关联字段设置好,否则出乱子

    Sql语句用left join解决多表关联问题(关联套关联,例子和源码)

    Sql语句用left join解决多表关联问题(关联套关联,例子和源码)一看就明白多表关联如何写SQl语句

    SQL SERVER 2005/2008/2008R2 自动关联表名字段名工具

    SQL Server 2005/2008/2008 R2 自动关联表名字段名工具是一款专为数据库管理员和开发人员设计的实用软件,它极大地简化了在SQL Server环境中处理数据库对象的工作。这款工具的核心功能在于自动识别和关联数据库中的...

    SQL Server2005 SP4

    这两个文件名——"sqlserver2005sp4-kb2463332-x64-chs_0473159bb4dec7f4e17f3fc152de5e8945d3e3cc.exe"和"sqlserver2005sp4-kb2463332-x86-chs_48ab3b127c355ef499b7ef8630b130868298d891.exe",分别对应了这两个...

    SQLServe书籍

    本书《Microsoft SQL Server 2012 Step by Step》将带领读者了解SQL Server 2012的基础知识,从安装和配置数据库服务器开始,一步步讲解如何创建数据库、表、索引,以及如何使用T-SQL(Transact-SQL)进行数据查询、...

    SQL SERVER数据库表的关联

    有助于数据库学习者了解表关联的问题,更深入的了解表之间的关系

    SQL update 多表关联更新的实现代码

    以下是两种常见的SQL更新语句实现多表关联更新的方式: 1. **非JOIN方式(旧式方法)**: ```sql UPDATE A SET A.c2 = B.c3 FROM A, B WHERE A.c1 = B.c1; ``` 在这个例子中,`A`和`B`是两个关联的表,通过共同的...

    Android ORMLite框架入门用法教程二(两张表关联外键)Demo

    本教程将深入探讨如何使用ORMLite实现两张表之间的关联和外键操作。 首先,我们需要了解什么是外键。在关系型数据库中,外键(Foreign Key)用于建立两个表格之间的关联,它是一个表格中的字段,其值来源于另一个...

    Microsoft SQL Server 2005 向后兼容组件

    Microsoft SQL Server 2005 Backward Compatibility Components (Microsoft SQL Server 2005 向后兼容组件) SQL Server Backward Compatibility 包中包含 最新版本的 Data Transformation Services 2000 运行时 ...

    SQLServer2005客户端SQLServer2005_SSMSEE.msi

    SQL Server 2005是微软公司推出的一款关系型数据库管理系统,它在企业级数据管理、分析和应用开发中扮演着重要角色。SQL Server 2005客户端组件是该系统的一部分,允许用户连接到SQL Server数据库服务器进行查询、...

    一条sql语句关联八个表

    在SQL(Structured Query Language)中,关联多个表是常见的数据查询操作,特别是在处理大型数据库时。标题中的"一条sql语句关联八个表"涉及到的就是这种复杂的联接查询。这种查询通常用于从分布在不同表中的相关...

Global site tag (gtag.js) - Google Analytics