Php 连接具有相同类别的表
我正在尝试连接两个具有相同类别的表,但它不太有效,无法返回结果 我有两个表,电视节目和电影,它们都有栏目类别,现在我想浏览所有的表,看看类别是否匹配并返回它们,但我不知道这有什么问题。请看一看,谢谢Php 连接具有相同类别的表,php,mysql,Php,Mysql,我正在尝试连接两个具有相同类别的表,但它不太有效,无法返回结果 我有两个表,电视节目和电影,它们都有栏目类别,现在我想浏览所有的表,看看类别是否匹配并返回它们,但我不知道这有什么问题。请看一看,谢谢 $query = $connection->prepare(" SELECT a.id, a.hash, a.categories, a.thumb_location, a.
$query = $connection->prepare("
SELECT
a.id,
a.hash,
a.categories,
a.thumb_location,
a.name,
a.year,
b.id,
b.hash,
b.categories,
b.thumb_location,
b.name,
b.year
FROM movies AS a
LEFT JOIN series AS b
ON a.categories = b.categories
WHERE a.categories LIKE ? OR b.categories LIKE ? ORDER BY a.id DESC
");
我不确定自己是否理解得很好,但请尝试一下:
$query = $connection->prepare("
SELECT a.hash,
a.categories,
a.thumb_location,
a.name,
a.year,
b.hash,
b.categories,
b.thumb_location,
b.name,
b.year
FROM movies AS a
LEFT JOIN series AS b
ON a.hash = b.hash
WHERE a.categories = b.categories ORDER BY id DESC
”;您在
的WHERE
中使用了名为categories
的列,但在表movies
和series
中有两列使用此名称,所以数据库不知道要搜索哪个列
如果要查找行,可能需要指定a.categories LIKE?或b.categories LIKE?的位置,其中为电影或系列设置了某些类别
如果你想按类别搜索电影和连续剧对,你应该通过那个专栏加入他们。但如果类别类似于“喜剧,动作”“等等,这是行不通的。您应该考虑重构数据库并创建表<代码>类别< /代码>,然后使用“电影ID”和“类别行ID”和<代码>系列>类别> /代码>相同的结构。这样,你就可以进行大量的查询来选择与系列等电影类别相同的电影。我有一个特定的类别数据库,但当我在电影数据库中插入一部新电影时,它就像动作喜剧科幻一样,很管用,但只有当我喜欢时才管用?在电影中,但当我开始加入表格时,情况就不一样了。现在我按照你的建议做了,但它现在仍然返回1个电影标题和2个空标题,编辑代码