zoukankan      html  css  js  c++  java
  • sql字段为逗号分开的字符串值的关联查询

    1.TREE表:

    [strID] [int] IDENTITY(1,1) NOT NULL,
    [strName] [nvarchar](50) NOT NULL,

    2.SubInfo

    CREATE TABLE [dbo].[SubInfo](
     [SuBID] [int] NOT NULL,
     [SubTreeID] [nvarchar](max) NULL,

    SQL语句为:

    select a.strID,a.strName from Tree as a where exists(select * from SubInfo where charindex(cast(a.strID as varchar(max))+',',SubTreeID)>0)

    这里红色加的分号必须要加上,不然的花,如果是215,连21也会区配.

    查询后结果为:

    如果SubTreeID:1,2,3,215则select a.strID,a.strName from Tree as a where exists(select * from SubInfo where charindex(cast(a.strID as varchar(max)),SubTreeID)>0)

    查询结果为

    本来21为思茅的是不应该查询出来的,所以要叫逗号来处理

    4.select a.strID,a.strName,b.* from Tree as a join SubInfo as b on charindex(cast(a.strID as varchar(max))+',',SubTreeID)>0
    这个是把SubInfo 表的数据也显示出来

    结果为:

  • 相关阅读:
    fibnacci数列递归实现
    求最大公约数伪代码
    第五周学习总结
    第四周学习总结
    我的黑客偶像
    BASE64编码
    第三周学习总结
    第二周学习总结
    Python gui
    SSH实践
  • 原文地址:https://www.cnblogs.com/codeloves/p/3363197.html
Copyright © 2011-2022 走看看