我无法安静地使用JOIN条款,即使在我准备了多个关于该主题的帖子之后。
这是我的问题: 目前我有2张桌子。
用户表:
ID | Username | Password
1 | Micky | 123
2 | Mouse | 145
问题表:
Question ID| Question_Title | Question | Rating | Category ID | User ID |
1 | Meaning of Life? | Same as Title | 100 | 2 | 1 |
2 | Foo is love? | Same as Above | 95 | 4 | 2 |
现在我只想运行一个查询,它会在标题中找到匹配项,找出哪个用户ID对应于该问题,然后获取用户名,以及问题标题,问题和评级然后打印出来。
到目前为止,我有:
"SELECT Question_Title, Question, Rating FROM Questions WHERE Question_Title LIKE '%$Term%'";
这样就可以从表格中找到问题标题,问题和评级,无论它在哪里找到匹配,但我如何使用JOIN以便它也会从Users表中获取用户名?
这也只是早期实现我将来会有更多需要类似查询的表格,所以我需要了解它是如何工作的。
P.S:我知道他们有很多这样的例子,但是我很难理解他们,所以如果你们中的一个善良的人能够将其分解并解释我会感激不尽。答案 0 :(得分:0)
Select a.* from a join b on a.id=b.a_id join c on c.b_id = b.id
在你的情况下是这样的:
SELECT Question_Title, Question, Rating,user.* FROM Questions join User on user_id=id WHERE Question_Title LIKE '%$Term%'";
答案 1 :(得分:0)
试试这个
SELECT
u.username
q.Question_Title,
q.Question,
q.Rating
FROM Questions q
join Users u on u.id = q.userid
WHERE q.Question_Title LIKE '%$Term%'";