icerunz
V2EX  ›  PHP

求一条SQL语句,三个表关连查询的,谢谢。

  •  
  •   icerunz · Jul 23, 2011 · 7135 views
    This topic created in 5583 days ago, the information mentioned may be changed or developed.
    各位,求一条SQL语句,我自己弄了半天弄出来的总是不对,结果都有重复项,麻烦帮我看下谢谢啊。

    三个表,content、relationship、meta,

    content是内容,主键cid;
    meta表存储分类的相应名称、类型等,主键mid;
    relationship是content和meta之间的关系,两个键,cid和对应的mid。

    求个SQL就是给一个分类名称,比方说default,查出相关的content内容和meta的内容放入数组。
    PS.有点像Wordpress里面的数据库结构,找了半天没找到WP是怎么实现的……弱啊

    我试着写了几个,但是都有点不对,JOIN没学好,麻烦大家帮助下,谢谢。
    7 replies  •  1970-01-01 08:00:00 +08:00
    napoleonu
    napoleonu
    Jul 23, 2011
    1
    select * from meta m right join relationship r on m.mid=r.mid join content c on r.cid=c.cid where m.name='default';
    napoleonu
    napoleonu
    Jul 23, 2011
    2
    不好意思,写错了。
    napoleonu
    napoleonu
    Jul 23, 2011
    3
    select * from meta m right join relationship r on m.mid=r.mid join content c on r.cid=c.cid where m.name='default' and m.mid is not null;

    希望没误导人,哈。
    Mai
    Mai
    Jul 23, 2011
    4
    真业余 ~~
    Mai
    Mai
    Jul 23, 2011
    5
    select * from meta m right join relationship r on m.mid=r.mid join content c on r.cid=c.cid where m.name='default';

    和

    select * from meta m right join relationship r on m.mid=r.mid join content c on r.cid=c.cid where m.name='default' and m.mid is not null;

    没什么区别。
    icerunz
    icerunz
    OP
    Jul 23, 2011
    6
    @Mai shy[-..-]
    icerunz
    icerunz
    OP
    Jul 23, 2011
    7
    @napoleonu 嘿嘿,感谢,搞定了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1525 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 17:44 · PVG 01:44 · LAX 09:44 · JFK 12:44
    ♥ Do have faith in what you're doing.