我坚持一个查询,我将以结果向后开始,以防这显而易见,然后提供更多细节 .
用户关注跟随供应商的赞助商,我正在尝试使用用户标识显示所有产品,其中存在用户标识的赞助供应商产品,没有用户标识为NULL .
Desired result (userid = 1):
productid | supplierid | userid
1 1 1
2 1 1
3 2 Null
4 3 1
5 2 Null
6 3 1
Actual result (userid = 1):
productid | supplierid | userid
1 1 1
1 1 Null
2 1 1
2 1 Null
3 2 Null
4 3 1
4 3 Null
5 2 Null
6 3 1
6 3 Null
我的查询:
SELECT product.productid, product.supplierid, usersponsor.userid FROM product
INNER JOIN supplier ON product.supplierid = supplier.supplierid
LEFT JOIN sponsorsupplier ON sponsorsupplier.supplierid = product.supplierid
LEFT JOIN usersponsor ON usersponsor.sponsorid = sponsorsupplier.sponsorid and usersponsor.userid = 1
我有4张桌子
sponser
supplier
product
myuser
有了这两个链接表:
usersponsor
sponsorsupplier
示例表:
myuser:userid
1
2
3
4
5
Sponsor:sponsorid
1
2
3
Supplier:supplierid
1
2
3
usersponsor
userid | sponsorid
1 | 1
2 | 2
2 | 3
sponsorsupplier
sponsorid | supplierid
1 | 1
1 | 3
2 | 2
2 | 1
3 | 3
Product
productid | supplierid
1 | 1
2 | 1
3 | 2
4 | 3
5 | 2
6 | 3
谢谢你的帮助 .