日期:2014-05-17  浏览次数:20493 次

如何多表连接,再字符串拼接?
我的三个表是这么样的....
 书表             books (bk_id,bk_title,bk_price,bk_publishing)
 作者表           authors(au_id,au_name)
书和作者中间表    books_authors(ID,bk_id,au_id)
按下面的代码查询书的书名,价格,出版社,作者名字这些信息。

因为有一本书多个作者的情况,如果查的话那就一条信息变成两条信息了。只选前几条给看一下.
  
SELECT bk.bk_id,bk.bk_title,bk.bk_price,bk.bk_publishing,au.au_name
  FROM dbo.Books bk INNER JOIN books_authors ba  ON bk.bk_id=ba.bk_id
                    INNER JOIN dbo.authors au     ON ba.au_id = au.au_id


bk_id   bk_title         bk_price    bk_publishing       au_name
1 数据库             50.00           铁道出版                曾伟
1 数据库             50.00           铁道出版                刘城
2 语文             40.00          人民出版社                人民
3 倚天屠龙记    43.00          人民出版社                金庸
3 倚天屠龙记   43.00          人民出版社                张无忌




我想来想去也就应该字符串拼接了,不过不知道怎么拼了。 求代码....
虽然说别人说可以在前台的客户端比较容易弄,但求在SQL里怎么解决。 求代码....
 

------解决方案--------------------
直接执行这个看看是不是你想要的结果
;
WITH    huang
          AS ( SELECT   bk.bk_id ,
                        bk.bk_title ,
                        bk.bk_price ,
                        bk.bk_publishing ,
                        au.au_name
               FROM     dbo.Books bk
           &nbs