[英]MySQL outer join with a pivot table
CREATE TABLE link (
entityid integer,
fileid INT (11) NULL,
folderid INT (11) NULL
);
CREATE TABLE file (
fileid integer,
name varchar
);
CREATE TABLE folder (
folderid integer,
name varchar
);
I want to get list of files and folder attached to an entity. 我想获取附加到实体的文件和文件夹列表。 Have tried below query however it gives null records if there is no record in either folder or file 尝试过以下查询,但是如果文件夹或文件中都没有记录,它将给出空记录
select fi.name,fo.name
FROM link ll
LEFT OUTER JOIN file fi ON lk.FileId = fi.FileId
LEFT OUTER JOIN folder fo ON lk.FileId = fo.FileId
WHERE dl.entityid = 307
sample data 样本数据
link
entityid fileid folderid
22 1 null
22 2 null
22 3 null
22 4 null
22 null 33
file
fileid name
1 file1
2 file2
3 file3
4 file4
folder
folderid name
33 folder33
34 folder34
35 folder35
36 folder36
Just add the entityid
to the select clause: 只需将entityid
添加到select子句中:
SELECT ll.entityid, fi.name, fo.name
FROM link ll
LEFT OUTER JOIN file fi ON lk.FileId = fi.FileId
LEFT OUTER JOIN folder fo ON lk.FileId = fo.FileId
WHERE dl.entityid = 307;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.