【问题标题】:Link SQL results to each other将 SQL 结果相互链接
【发布时间】:2012-11-03 00:45:20
【问题描述】:

用户

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 numberpassactive 字段

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

我的问题:我需要为此使用什么查询?我不确定Group ByOrder By 等命令会对我的数据执行什么操作,这些数据在Java 中以ResultSet 对象的形式出现。

【问题讨论】:

    标签: java mysql sql jdbc phpmyadmin


    【解决方案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
    

    【讨论】:

    • 请编辑您的答案,使ORDER BY 包含在答案文本中。之后您可以删除您的评论。
    【解决方案2】:

    您可以使用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
    /
    

    【讨论】:

    • 这不包括没有TagsUsers。我认为其他答案之一更好。不过,谢谢你的时间:)
    【解决方案3】:

    您需要使用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

    【讨论】:

    • 我认为这不会对用户 ID 的结果进行排序。
    【解决方案4】:
    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
    

    【讨论】:

    • 我认为结果不会按照 users.ID 排序。
    猜你喜欢
    • 1970-01-01
    • 2020-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    相关资源
    最近更新 更多