[英]MySQL query with Foreign Key
我有以下相关的下表,如下所示。
~~~~articles~~~~~~ ~~~~categories~~~~ ~~~user_categ~~~ ~~users~~~
| id_articles | | c_id | | user_cat_id | _|_user_id |
| article_title | _|_ category_id |_____ | user_id_fk |_/ |user_name|
| article_content| _ - | category_name | \_|__category_id_fk| |user_pw |
| category_id |/ |________________| |________________| |_________|
|_________________|
现在在我的user_categories表中,假设我有以下数据。
| user_id_fk | cat_id_fk |
-------------------------
| 2 | 2.1 |
| 2 | 3.1 |
| 2 | 4.1 |
| 3 | 2.4 |
-------------------------
现在,我想在MySQL中进行查询,以便使user_id_fk 2从Articles表中获取具有其相应类别(例如2.1,3.1 和4.1)的 article_title,article_content 。
我尝试使用内部联接进行一些查询,但未成功获得所需的结果。
希望我足够清楚。
您可以使用子查询来实现。 例如:
SELECT article_title, article_content
FROM articles
WHERE category_id IN (
SELECT category_id_fk FROM user_categories WHERE user_id_fk = 1
)
与join相同的例子:
SELECT article_title, article_content
FROM articles
JOIN user_categories ON category_id = category_id_fk
WHERE user_id_fk = 1
这样可以吗?
SELECT article_title,article_content
FROM articles
WHERE category_id IN
(
SELECT category_id
FROM user_categories
WHERE user_id_fk = 2
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.