我有一个数据库,我希望从两个表中获取数据,它们看起来像这样:
categories: entries:
+----+------+ +----+-------------+-------+-------------+
| id | name | | ID | category_id | title | description |
+----+------+ +----+-------------+-------+-------------+
| 1 | foo | | 1 | 1 | bar | Loreum ip.. |
+----+------+ +----+-------------+-------+-------------+
我想从
entries
获取信息,我的输入将只是类别名称和条目标题。如果我使用两个语句,它显然可以工作。就像是:SELECT `id` FROM `categories` WHERE `name` = 'foo' LIMIT 1;
SELECT `ID`, `category_id`, `title`, `description` FROM `entries` WHERE `title` = 'bar' AND `category_id` = $cat_id LIMIT 1;
其中
$cat_id
是第一个条目的输出。但是我想将这些合并为一个语句,在这里我发现join有用吗?所以我的问题基本上是如何将这些组合成一个查询? 最佳答案
你可以像我建议的那样使用连接概念
SELECT `ID`, `category_id`, `title`, `description` FROM `entries`
inner join `categories` on `entries`.`category_id`=`categories`.`id`
WHERE `categories`.`name` = 'foo' AND `title` = 'bar' LIMIT 1;
您看起来很新,请探索有关sql的概念