我已經想出了我的大部分SQL查詢,但我似乎需要一點幫助。如何在此查詢中獲取用戶名和用戶名? (MySQL)
我似乎無法弄清楚如何使用social_posts.user_id
從user
中選擇username
。
這裏是我的查詢(的作品):
SELECT social_posts.user_id, social_posts.post_stamp, social_posts.message
FROM social_posts
WHERE id IN (
SELECT social_threads.id
FROM social_threads, friends
WHERE (((friends.user_a = ?) || (friends.user_b = ?)) && (friends.request = 1)) || (social_threads.user_id = ?)
ORDER BY social_threads.id DESC)
LIMIT 15
我想查詢返回user.username
。在user
表中,用戶標識被稱爲id
。
當我嘗試以下方法我得到一個錯誤:
SELECT social_posts.user_id, social_posts.post_stamp, social_posts.message, user.username
FROM social_posts
INNER JOIN user ON social_posts.user_id = user.id
WHERE id IN (
SELECT social_threads.id
FROM social_threads, friends
WHERE (((friends.user_a = ?) || (friends.user_b = ?)) && (friends.request = 1)) || (social_threads.user_id = ?)
ORDER BY social_threads.id DESC)
LIMIT 15
該查詢返回以下錯誤: Column 'id' in IN/ALL/ANY subquery is ambiguous
雖然這個工程:
SELECT social_posts.user_id, social_posts.post_stamp, social_posts.message, user.username
FROM social_posts
INNER JOIN user ON social_posts.user_id = user.id
LIMIT 15
任何幫助表示讚賞。
你什麼錯誤? (我們不是通靈) – Bohemian
@Bohemian對不起,我得到的錯誤是IN/ALL/ANY子查詢中的'Column'id'不明確。 –