尝试从3个不同的表中查找3列

时间:2018-10-14 15:24:26

标签: mysql sql

我有以下3张桌子:

CREATE TABLE Pins (
    email varchar(100) NOT NULL,
    boardID int NOT NULL,
    ));

CREATE TABLE Boarders (
    email varchar(100) NOT NULL,
    boardID int NOT NULL,
    FOREIGN KEY (categoryName) REFERENCES Category (name));


CREATE TABLE User (
    email varchar(100) NOT NULL,
    name varchar(50),
    PRIMARY KEY (email));

我要这样查询查询结果:对于每个Pin,请显示说明

这显然行不通,但是关于如何显示以上内容的任何建议?

2 个答案:

答案 0 :(得分:0)

select p.description ,c.title, u.name from PushPin p,CorkBoard c, User u
    where c.email=u.email and c.email =p.email  and c.boardID = p.boardID 
      order by p.description

答案 1 :(得分:0)

是的,这将要求您加入三个表。

类似以下代码的东西应该可以工作。 仅定义外键关系并不意味着您不需要在查询时加入。

SELECT PP.description, CB.title, U.name
FROM PushPin PP JOIN CorkBoard CB ON PP.boardID = CB.boardID
   JOIN USSER U ON PP.email = U.email
WHERE description like '$search'
ORDER BY description;