[英]Querying more than 1 table in a single query via JOIN
即使已經准備好多個關於該主題的文章,我也無法安靜地使用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表中獲取用戶名?
同樣,這只是早期的實現,將來我將有更多的表需要類似的查詢,因此我需要了解其工作原理。
PS:我知道他們有很多這樣的例子,但是我很難理解它們,所以如果你們中的一個人能分解並解釋我將不勝感激。
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%'";
嘗試這個
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%'";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.