0

用户

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 排序,如果适用,带有tag number,pass和字段active

我在外部服务器上使用带有 PHPMyAdmin 的基于 Web 的数据库,并通过 JDBC 在 Java 中对其进行查询。

我的问题:我需要为此使用什么查询?我不太确定什么命令,例如Group ByOrder By将对我的数据执行什么操作,这些数据作为ResultSetJava 中的一个对象出现。

4

4 回答 4

1

您需要使用连接

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

于 2012-11-14T14:00:45.387 回答
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
于 2012-11-14T14:06:58.120 回答
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
于 2012-11-14T14:14:33.003 回答
0

您可以使用SQL 连接在表上执行此操作。您的问题的代码是:

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
/
于 2012-11-14T14:04:17.827 回答