sql表连接问题

问题描述

本来是selecta.zlzh,b.state,b.item1fromtabaleftjointab2bona.zlzh=b.zlzh,现在b中变成这样了,多个值在字段值中,用逗号隔开,这个能改吗???这么改

解决方案

解决方案二:
这个好像改不了吧,逗号的作用就是区别出来每个字段,你这是好几个字段的值连接查询放到一个字段了吧。如果你想没有逗号的话,就写连接字符串吧,连接查询实现不了
解决方案三:
selecta.zlzh,b.state,b.item1fromtabaleftjointab2boncharindex(a.zlzh,b.zlzh)>0

结果集可能不准确
解决方案四:
后面两列的值是不是一样的如果一样的话你可以把zlzh列的所有值用逗号拼接起来,然后分割,如果不一样...那就不知道了..
解决方案五:
不是你说的那样,zlzh这个字段不是多个字段的值,是多个zlzh的值,比方说,就是把ID是3,4的两条数据合并成ID是5的一条数据,截图只是一部分,后面还有state,item1,
解决方案六:
后面两值是一样的
解决方案七:
2L说的不行啊,zlzh中也有可能是1,1在12里面,也在1999里面,这不行啊
解决方案八:
引用4楼q347657310的回复:

不是你说的那样,zlzh这个字段不是多个字段的值,是多个zlzh的值,比方说,就是把ID是3,4的两条数据合并成ID是5的一条数据,截图只是一部分,后面还有state,item1,

你的意思是如果表是12342,3,45那么显示12,3,45???
解决方案九:
做出来了,根据2L说的,我改了一下selecta.zlzh,b.state,b.item1fromtabaleftjointab2boncharindex(','+a.zlzh+',',','+b.zlzh+',')>0应该是对了
解决方案十:
这个数据库设计就不合理,根据范式尽量避免这种设计。

时间: 2024-11-03 09:32:42

sql表连接问题的相关文章

SQL表连接

  背景 在上次的自考科目<数据库系统原理>中,已经接触到了关于数据库表连接的一些知识,最近的学习过程中又用到了关于数据库表的连接问题,趁此再跟大家一起回顾一下. 导图总结 首先用一张思维导图概括一下SQL表连接的内容: 对SQL表连接有个大概的了解之后,我们通过一个小例子进一步来学习一下.首先,我建立和两张表:如下 外连接 外连接包括左外连接.右外连接和完整外连接. 左外连接 SQL语句:select * from table1 left join table2 on table1.id=t

sql 表连接数据去重-sql 表连接后数据去除重复的内容

问题描述 sql 表连接后数据去除重复的内容 有个A表 订单号 入住人 1 张1 1 王1 2 张2 3 张3 有个B表 订单号 入住房间号 1 201 1 202 两个表的订单号是相同的 现在想得到表 订单号 入住人 房间号 1 张1 201 1 王1 202 2 张2 null 3 张3 null 请问改如何写 解决方案 关键问题是你的订单号比如1,入住了两个人,分别开了两个房间,但问题是哪个人是201房间,哪个人是202房间没有对应.这个人和房间的对应关系是怎样的? 解决方案二: 这是同一

sql表连接查询使用方法(sql多表连接查询)_MsSql

实际的项目,存在多张表的关联关系.不可能在一张表里面就能检索出所有数据.如果没有表连接的话,那么我们就需要非常多的操作.比如需要从A表找出限制性的条件来从B表中检索数据.不但需要分多表来操作,而且效率也不高.比如书中的例子: 复制代码 代码如下: SELECT FIdFROM T_CustomerWHERE FName='MIKE' 这个SQL语句返回2,也就是姓名为MIKE 的客户的FId值为2,这样就可以到T_Order中检索FCustomerId等于2 的记录: 复制代码 代码如下: SE

sql表连接查询使用方法(sql多表连接查询)

实际的项目,存在多张表的关联关系.不可能在一张表里面就能检索出所有数据.如果没有表连接的话,那么我们就需要非常多的操作.比如需要从A表找出限制性的条件来从B表中检索数据.不但需要分多表来操作,而且效率也不高.比如书中的例子:复制代码 代码如下:SELECT FIdFROM T_CustomerWHERE FName='MIKE' 这个SQL语句返回2,也就是姓名为MIKE 的客户的FId值为2,这样就可以到T_Order中检索FCustomerId等于2 的记录: 复制代码 代码如下:SELEC

从两种SQL表连接写法来了解过去

例如:一个二表连接的SQL,有两种写法: (1)select A.c1,A.c2,B.c1,B.c2 from table1 A,table2 B where A.id=B.id (2)select A.c1,A.c2,B.c1,B.c2 from table1 A join table2 B on A.id=B.id 哪种写法好呢?现在提倡用哪一种? 你喜欢用哪一种? 复制代码 代码如下: select * from a,b where a.id=b.id select * from a in

sql 表连接问题

问题描述 一张航空表a,字段:航班id,起始城市id,目的城市id.一张城市表b,字段:城市id,城市名称.怎样查出从北京到上海的航班id? 问题补充:yangshancheng 写道 解决方案 select a.id from a inner join b as startcity on a.start_cityid=startcity.id inner join b as endcity on a.end_cityid=endcity.id where startcity.name='北京'

sql 表连接

 join (inner join ) 注释:INNER JOIN 关键字在表中存在至少一个匹配时返回行.   left join  注释:LEFT JOIN 关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配.如果右表中没有匹配,则结果为 NULL.   right join 注释:RIGHT JOIN 关键字从右表(table2)返回所有的行,即使左表(table1)中没有匹配.如果左表中没有匹配,则结果为 NULL.  

两表连接的SQL语句

两表连接的SQL语句:这两种写法哪种好?现在提倡用哪一种呢? 例如:一个二表连接的SQL,有两种写法: (1)select A.c1,A.c2,B.c1,B.c2 from table1 A,table2 B where A.id=B.id (2)select A.c1,A.c2,B.c1,B.c2 from table1 A join table2 B on A.id=B.id 哪种写法好呢?现在提倡用哪一种? 你喜欢用哪一种? 我习惯用(1) ---这两个哪个好? 其中11楼的回答最为深入.

SQL的表连接

每天给自己扫盲,让自己变得越博学. 继续学习<程序员的SQL金典>,这回我们来看看表连接相关的内容.表连接的相关知识在实际的项目开发当中,使用非常广. 所谓表连接,就是通过关联多张表,从而检索出需要的数据.实际的项目,存在多张表的关联关系.不可能在一张表里面就能检索出所有数据.如果没有表连接的话,那么我们就需要非常多的操作.比如需要从A表找出限制性的条件来从B表中检索数据.不但需要分多表来操作,而且效率也不高.比如书中的例子: SELECT FId FROM T_Customer WHERE