查询3个表中的数据

时间:2015-06-04 10:13:07

标签: php mysql

我这里有3张桌子:

+ _news : id, title, url, image // This table contents all data of news.

+ _block : bid, id // This table content id of news and bid

+ _block_cate : bid, title, url // This table content type of news : PHP, SQL, HTML

每张桌子的数据都是这样的:

+ _news : id, title, url, image
          1   title1 url1 image1
          2   title2 url2 image2

+ _block : bid, id // id here is if of news.
            1   1
            2   1
            1   3

+ _block_cate : bid, title, url // This table contents data of each type.
                 1   PHP    php
                 2   SQL    SQL
                 3   HTML   html

我尝试在我的主页上打印出类似的结果:

  • 新闻(1) - 标题
  • 类型:PHP,SQL

  • 新闻(2) - 标题2

  • 类型:HTML

我尝试过2级查询,但不起作用。 对此查询有什么想法吗?

//您也可以在这里查看演示 http://blogtruyen.com/trangchu 我正在尝试制作这样的网页。每个漫画都会显示自己的信息以及它所属的类型。 我希望有人可以给我一个建议。

2 个答案:

答案 0 :(得分:0)

我不清楚你的问题是什么。我认为你需要这样。

select NW.title,* from _news NW
left join _block BK ON NW.id=BK.id
left join _block_cate BC ON BK.bid = BC.bid

答案 1 :(得分:0)

SELECT `n`.*, GROUP_CONCAT(`bc`.`title`) `titles`
FROM `news` `n`
LEFT JOIN `block` `b` ON `n`.`id` = `b`.`id`
LEFT JOIN `block_cate` `bc` ON `b`.`bid` = `bc`.`bid`
GROUP BY `n`.`id`

这应该适合你。