[英]MySQL getting tables info where
我正在努力將2個表連接在一起,以便我可以填寫我的PHP腳本的信息
我有2個表feed
和u_feed
U_FEED
id | uid | fid
1 | 2 | 1
FEED
id | url | title | favicon
1 | http://example.com | domain | http://example.com/favicon.ico
當前用戶ID(uid)將為2
我試過但沒有運氣
SELECT u.uid, f.url, f.title, f.favicon
FROM u_feed u
JOIN feed f ON u.fid = '2'
首先嘗試這個加入你的表然后使用WHERE
SELECT u.uid, f.url, f.title, f.favicon
FROM u_feed u
JOIN feed f ON u.fid = f.id
WHERE u.fid='2'
要么
SELECT u.uid, f.url, f.title, f.favicon
FROM u_feed u
JOIN feed f ON (u.fid = f.id AND u.fid='2' )// join tables with multiple conditions
您沒有指定要將兩個表連接到哪個列,看起來您使用了錯誤的列來根據用戶ID進行過濾。 嘗試這樣的事情:
SELECT u.uid, f.url, f.title, f.favicon
FROM u_feed u
INNER JOIN feed f ON f.id = u.fid
WHERE u.uid = '2'
正確指定JOIN條件。 兩個表中必須有一列彼此對應。 在這種情況下,似乎是u_feed.fid
和feed.id
SELECT u.uid, f.url, f.title, f.favicon
FROM u_feed u
JOIN feed f ON f.id = u.fid
WHERE u.uid = '2'
我認為這是一個錯字或混亂 - 你說
當前用戶ID(uid)將為2
但是通過fid = 2查詢。
SELECT u.uid, f.url, f.title, f.favicon
FROM u_feed u
JOIN feed f ON u.fid = f.id
WHERE u.uid = 2
希望這可以幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.