多对多关系的 SQL 查询以在 HTML 中显示数据

Posted

技术标签:

【中文标题】多对多关系的 SQL 查询以在 HTML 中显示数据【英文标题】:SQL Query for many-many relationship to display data in HTML 【发布时间】:2018-07-15 21:15:18 【问题描述】:

我遇到了一些问题,但实际上找不到针对我的问题的具体解决方案。 我有一个名为“冠军”的数据库表。它包含冠军(带有他们的名字和类型)。我有一个名为“用户”的表,其中包含用户数据(姓名、密码、电子邮件等)。我有一张名为“Owns”的桌子。它保存了哪个用户购买了哪个冠军的数据。为此,'Owns' 持有外键 UID 和 CID。

现在我想在我的网站上显示所有冠军及其图片。解锁的冠军图像将显示为彩色。锁定将显示为黑白。

一旦用户购买了英雄,我就会将数据插入到“拥有”中。这意味着如果我购买了 10 个可用冠军中的 3 个冠军,我如何查询表格以将所有 7 个锁定的冠军显示为“黑白”而所有 3 个未锁定的冠军显示为彩色?

提前谢谢你!

【问题讨论】:

见meta.***.com/questions/333952/… 【参考方案1】:

LEFT JOIN 在这种情况下应该可以工作。如果 OWNS.id 为空,则以黑白显示,否则以彩色显示。

SELECT * 
FROM CHAMPIONS
LEFT JOIN OWNS ON CHAMPIONS.id = OWNS.cid AND OWNS.uid = 1;

【讨论】:

没问题@TheProgressViewer,很高兴我能帮上忙

以上是关于多对多关系的 SQL 查询以在 HTML 中显示数据的主要内容,如果未能解决你的问题,请参考以下文章

使用 Django 按连接数查询多对多关系

用户-角色多对多查询sql

Sequelize 查询在多对多关系中显示附加数据

Laravel - SQL查询在多对多关系中等于id的值为null

NHibernate教程(11)--多对多关联查询

查询显示多对多关系中的关联列表