2012-11-14 69 views
0

用戶鏈接SQL結果對方

id, first, last 
1 John Johnsson 
2 Mark Jackson 
3 Chris Lager 

標籤

id, userID, tag,  pass,  active 
1 2  42564eb6 <some hash> 1 
2 1  524846b6 <some hash> 0 

我想要輸出數據的結合:

標籤

ID(from user), First name, Last name, Tag number, Password hash, Active 
1    John  Johnsson 524846b6 <hash>   0 
2    Mark  Jackson 42564eb6 <hash>   1 
3    Chris  Lager         

所以基本上,我想要一張有用戶的表格,請訂購通過相應的ID,用如適用

我使用一個外部服務器上與phpMyAdmin基於網絡的數據庫tag numberpassactive領域,而我在Java中通過JDBC查詢就可以了。

我的問題:我需要使用什麼查詢?我不確定哪些命令(如Group ByOrder By)可以處理我的數據,這些數據以Java中的ResultSet對象形式出現。

回答

1

我認爲這是一個LEFT JOIN,如:

select 
u.id, 
u.first as [First Name], 
u.Last as [Last name], 
t.tag as [Tag Number], 
t.pass as [Password], 
t.Active 
FROM [user] as u 
LEFT JOIN [Tags] T ON U.id=T.UserId 
ORDER BY u.[id] ASC 
+0

請編輯您的答案,以便在答案文本中包含「ORDER BY」。之後,您可以刪除您的評論。 – Spontifixus

1

您需要使用join

SELECT u.*, t.tag, t.pass, t.active FROM users u INNER JOIN tags t ON u.id = t.userID ORDER BY u.id

+0

這不會爲了用戶ID的結果,我想。 –

+0

只是補充說,謝謝 – binnyb

0

可以用戶SQL Joins做這個表上。你的問題的代碼是:

select 
    users.id 
    , users.first 
    , users.last 
    , tags.tag 
    , tags.pass 
    , tags.active 
from 
    users 
    , tags 
where 
    users.id = tags.userID 
order by 
    users.id 
/
+0

這不包括'用戶'沒有'標籤'。我認爲其他答案之一更好。不過,謝謝你的時間:) –

1
SELECT U.ID AS UserID, U.First AS FirstName, U.Last AS LastName, 
     T.Tag AS TagNumber, T.Password AS PasswordHash, T.Active 
FROM `Users` U 
INNER JOIN `Tags` T ON T.UserID = U.ID 
ORDER BY U.ID 
+0

我認爲結果將不會按照users.ID的排序順序。 –