簡體   English   中英

MySQL獲取表信息在哪里

[英]MySQL getting tables info where

我正在努力將2個表連接在一起,以便我可以填寫我的PHP腳本的信息

我有2個表feedu_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.fidfeed.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM