从不同的mySQL表中添加值

时间:2014-11-09 10:47:50

标签: php mysql sql mysqli

我的桌子:

cloe_Pictures:
   id  | title | mainKategorie
  1001 | ABC   |      1
  1002 | BCD   |      1
  1003 | need  |      2
  1004 | FGH   |      3


cloe_htbl_Kategorie:
   bezeichnung | kategorieId
          Kat1 |      1
          BLO  |      2
          Peng |      3
          yxz  |      4

cloe_Kategorie:
        picID | kategorieId
         1003 |      1
         1005 |      2
         2003 |      3
         3003 |      4

这是查询:

SELECT pic.title, kat.bezeichnung AS kategorie
FROM cloe_Pictures pic, cloe_htbl_Kategorie kat
WHERE pic.mainKategorie=kat.kategorieId 
      AND pic.mainKategorie=1

给出:

         title | kategorie
          ABC  | Kat1  
          BCD  | Kat1  

我的问题是:如何包含表cloe_Kategorie WHERE ID = 1中的所有记录 我到底有这样一张桌子:

    title | kategorie
      ABC  | Kat1  
      BCD  | Kat1
      need | Kat1   

1 个答案:

答案 0 :(得分:0)

您还需要在cloe_Kategoriecloe_Pictures之间进行联接。像下面的东西

SELECT pic.title, kat.bezeichnung AS kategorie
             FROM cloe_Pictures pic, cloe_htbl_Kategorie kat
             WHERE pic.mainKategorie=kat.kategorieId AND pic.mainKategorie=1

UNION

SELECT pic.title, kat.bezeichnung AS kategorie
             FROM cloe_htbl_Kategorie kat JOIN cloe_Kategorie ck
             ON kat.kategorieId  = ck.kategorieId
             AND ck.picID = 1003 
             JOIN cloe_Pictures pic ON pic.id = ck.picID