数据库两张表create table tab1(
n_id int primary key identity,
n_name varchar(16) not null,
n_re varchar(50)
)
insert into tab1 values('色','')
insert into tab1 values('香','')
insert into tab1 values('味','')create table tab2(
d_id int primary key identity,
d_name varchar(16) not null,
d_re varchar(50),
d_nid varchar(16) not null
)
insert into tab2 values('四川美食','','2,3,')
insert into tab2 values('广东美食','','1,2,')
insert into tab2 values('新疆美食','','1,3,')显示的时候如何把tab2的d_nid字段,显示成对应tab1的n_name例如: 
d_id   d_name     d_nid
 1     四川美食   香,味ASP.NETSQL读取数据

解决方案 »

  1.   

    [code=sql]select d_id,d_name,
    (CASE when charindex('1',d_nid)>0 then '色,' else ''end +
    CASE when charindex('2',d_nid)>0 then '香,' else '' end +
    CASE when charindex('3',d_nid)>0 then '味,' else ''end 
    ) as n_re
     from tab2[code]能满足需求,缺点:如果tab1的数据太多就不合适了
      

  2.   

    select d_id,d_name,
     (CASE when charindex('1',d_nid)>0 then '色,' else ''end +
     CASE when charindex('2',d_nid)>0 then '香,' else '' end +
     CASE when charindex('3',d_nid)>0 then '味,' else ''end 
     ) as n_re
      from tab2
    能满足需求,缺点:如果tab1的数据太多就不合适了 不好意思,前面的格式乱了
      

  3.   

    肯定不行的了  单表操作?
    可以放到读取之后 构造你想要的DataTable
    如果不想那样弄的话,可以参考一下 http://www.cnblogs.com/yangbingqi/archive/2011/07/02/2096094.html
      

  4.   

    like this?
    http://www.cnblogs.com/insus/archive/2013/04/24/3039115.html
      

  5.   

    肯定不行的了  单表操作?
    可以放到读取之后 构造你想要的DataTable
    如果不想那样弄的话,可以参考一下 http://www.cnblogs.com/yangbingqi/archive/2011/07/02/2096094.html
    看了一下,问题是我都两个类型不一样
      

  6.   

    嗯,谢谢。其实我tab1数据挺多的..
      

  7.   

    他说循环数组作为表2的条件
    估计他是说作为tab1的条件
    不太懂,感觉要查询很多次linq不太会..
      

  8.   

    把两张表分别查出来,然后把那个字符串Split截取成一个数组, 把类型循环SwichCase ,然后每条数据的那个字段再拼成一个字符串就OK,  有点麻烦
      

  9.   

    自己拼一个datatable,能不能说下思路,求帮助啊