猿问

mysql join问题

有两张表
user表字段:
id,username,name

article表字段:
id,art_title,art_content,posterId,controllerId

article表中的posterId是外键,指向user表中的id
article表中的controllerId也是外键,也指向user表中的id

比如现在article中有一条数据:

art_id | art_title | art_content | posterId | controllerId1      | title     | content     | 1        | 2

user表中有两条数据

user_id | username | name1       | leo      | 小红2       | john     | 小明

我现在要查寻article中的这条数据,但我希望通过posterId和controllerId将poster和controller的信息都查寻出来,请问sql语句该怎么写啊?

我现在的查寻语句是这样的:

SELECT article.*,user.*FROM articleLEFT JOIN userON article.id = user.idWHERE art_id = 1

查寻出来的结果是:

art_id=>1,art_title=>title,art_content=>content,posterId=>1,controllerId=>2,//我现在想在上面的sql语句中根据controllerId把controller的信息也查寻出来,请问该怎么写sql语句user_id=>1,    //这是根据posterId得到的poster的信息username=>leo, //这是根据posterId得到的poster的信息name=>小红     //这是根据posterId得到的poster的信息


梵蒂冈之花
浏览 449回答 1
1回答

猛跑小猪

可以再连接一下SELECT a.*, b.username,b.name,c.username,c.nameFROM article aLEFT JOIN user bON a.posterId = b.idLEFT JOIN user c ON a.controllerId = c.idWHERE art_id = 1
随时随地看视频慕课网APP

相关分类

MySQL
我要回答