我不能安静地使用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,以便它也从用户表中获取用户名?
此外,这只是早期实现,我将来会有更多的表需要类似的查询,所以我需要了解它是如何工作的。
PS:我知道有很多这样的例子,但我很难理解它们,所以如果你们中的一个善良的灵魂可以分解它并解释,我将不胜感激。
试试这个
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%'";
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%'";