2011-10-22 50 views
1

嘗試在兩個組合表上執行內部連接,但語法有問題。下面是我有:多個select語句中的mysql內部連接

SELECT count(*) FROM ( SELECT DISTINCT seller FROM Items, Users WHERE Items.seller = Users.userID t1 INNER JOIN ( SELECT DISTINCT UserID FROM Bids, Users WHERE Bids.UserID = Users.userID ) t2 ON t1.userID = t2.userID )

我猜它有事情做與括號/缺少的AS /或什麼的。我想我在這裏真正要問的是如何給我的子查詢別名,但不使用在FROM部分。僅僅在User.userID之後有t1並將整個表標識爲t1纔有效?

回答

0

我認爲這是你想要的?

SELECT count(*) 
FROM Users 
INNER JOIN Items ON Users.userID = Items.seller 
INNER JOIN Bids ON Users.UserID = Bids.UserID 
+0

不,這不夠具體,我猜。我需要保持兩個獨立表的結構,因爲我知道它們是正確的,我只需要幫助修復語法 –

+0

@MichaelLiao't1'沒有用戶標識但是賣方,也許'ON t1.seller = t2。 userID' – xdazz

+0

@MichaelLiao你只是想計算記錄,你是什麼意思保持相同的結構? – xdazz

0

你希望把你從查詢

SELECT DISTINCT seller FROM Items, Users WHERE Items.seller = Users.userID 

爲T1 簡單的方法得到的輸出表使用

`select * from (SELECT DISTINCT seller FROM Items, Users WHERE Items.seller = Users.userID)t1`