我想知道如何正確地完成這個查詢。SQL - 如何查詢3個表(查詢中的查詢?)?
我希望導出用戶使用的所有ips的完整選票列表。
我的數據庫有3個表存儲親戚數據=>
票= vote_site_id | vote_ip | vote_time
connexions_ip = adresse_ip | user_id | connexion_time
users = user_id | user_name | user_ip
所以其實我有這個疑問讓所有connexions_ip從一個用戶=>
SELECT c.adresse_ip, c.user_id, u.user_name
FROM connexions_ip c
LEFT JOIN users u ON u.user_id = c.user_id
WHERE u.user_id = '1'
而且這個查詢將所有選票從一個用戶=>
SELECT v.vote_site_id, v.vote_ip, v.vote_time, u.user_name
FROM votes v
LEFT JOIN users u ON u.user_ip = v.vote_ip
WHERE user_id = '1'
我試着用子查詢,但我有這個錯誤「#1242 - 子查詢返回多於一行」
SELECT v.vote_site_id, v.vote_ip, v.vote_time, u.user_name
FROM votes v
LEFT JOIN users u ON (
SELECT c.adresse_ip
FROM connexions_ip c
LEFT JOIN users u ON u.user_id = c.user_id
WHERE u.user_id = '1'
)
= v.vote_ip
WHERE user_id = '1'
感謝您的幫助。
你嘗試過工會嗎? –
聯盟可以完成我想要的? 當我嘗試UNION時,我沒有對一個用戶的différentsip的所有投票 – WolwX
考慮提供合適的DDL(和/或sqlfiddle)與期望的結果集合 – Strawberry