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

求sql 方法 - MS-SQL Server / 疑难问题

表A 
Field A1(Varchar) A2
record 1 1
record 2 1
record 3 1

表B
Field B1(Varchar) B2
record 1,2,5,6 1


要求,查找出 A1表中A1字段的值,在B表B1中,条件A2=B2
SQL code:
select a1 from a where exists(select 1 from b where charindex(','+ltrim(a.a1)+',',','+b1+',')>0 and a.a2=b2)


如何返回

for xml path()

record 这东西是字段内容还是多余的?

select A.* from A , B where A2=B2 and charindex(','+A1+',',','+B1+',')>0

SQL code:
select A1
from 表A a
where exists
(select B1
from 表B b
where b.B2 = a.A2
and charindex(',' + a.A1 + ',', ',' + b.B1 + ',') > 0)


1.exists:用来过滤记录的,相当于条件
2.CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置。不存在返回 0;
  CHARINDEX函数调用方法如下: 
  CHARINDEX ( expression1 , expression2 [ , start_location ] )



SQL code:
select A1
from 表A a
left join 表B b
on a.A2 = b.B2
where charindex(',' + a.A1 + ',', ',' + b.B1


相关问答:

Asp+sql server问题 - Web 开发 / ASP

我一个项目,有个插入操作,具体是这样的:
我有进货信息表。在出货时选择相应的进货信息,输入数量,选择部门后,点保存按钮,由于网络延时,点一下没有反映,于是用户就又点一下,导致一次插入了两条记录:
例: ......

sql小小的疑问 - .NET技术 / C#

可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......

sql语句问题 - MS-SQL Server / 疑难问题

现在有一个部门表dept(部门名称,部门号。。)有一个人员表emp(姓名,人员编号,职位,薪资,部门)
emp表中的内容是这样的:
a 1 工程师 3000 软件部
b 2 普通员工 2000 硬件部
c 3 工程师 4000 硬件部
d ......

关于SQL语句OR的问题 - Oracle / 高级技术

通过NAME字段条件查询一个数据表,假设我有100个姓名,有以下两个方法,
方法1:
把100个Name 组成一个SQL语句,比如 Select * from tmp_table where Name='张三' or Name ='李四' Or ...Or Name='第一百个姓名'
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号