回答

收藏

将 id 替换为 MySQL 中 CROSS JOIN 中另一个表中的用户名

技术问答 技术问答 280 人阅读 | 0 人回复 | 2023-09-12

扩展以下查询:
1 h1 C& |9 ]+ p. b+ Y: M! U" S/ ?
    SELECT     d.dataid,   d.colors,   u.userid,   u.usernameFROM    users u        CROSS JOIN    datas dWHERE    (u.userid ,d.dataid) NOT IN (SELECT             c.userid,c.dataid        FROM            collections c)        AND u.userid = 1% v: ?- r  ~7 T+ g
对此数据样本:
- u- Y, r9 P) t- A5 ^* k* \1 V
    table datas                 table users          table collectionsdataid | colors  | addedby  userid | username    collectionid | userid | dataid--------------------------  -------------------  ------------------------------   1   | blue    |    1       1    | Brian            1       |    1   |   1   2   | red     |    1      2    | Jason            2                                         2            |   2   | 3 3 3 3  3        | green   |   2      3    | Marie            3                                          3                                                                                                                                                                                                                                                                              3                                                                                                            3                                                                                                                                                                    |    1   |   3   4      | yellow  |     3                                                                                                                                                                                                                                                                                                                       |   3   |   2
    , H5 u6 q2 S. ^5 u
这些结果是预期的:
; n& n: B5 l2 a5 j4 i" o( P  o
    for Brian           dataid | colors | userid | username-----------------------------------  2    | red    |   1    | Brian  4    | yellow |   1    | Mariefor Jasondataid | colors | userid | username-----------------------------------   1   | blue   |  2     | Brian  2    | red    |  2     | Brian  4    | yellow |  2     | Marie
    2 ]/ a, ^. I: O
添加从用户继承用户 ID 的行“ addedby”。目前,我的查询用用户名替换了来自用户的用户 ID,而不是来自数据的 addedby。我真的需要替换数据中的用户 ID,用户 而不是用户ID。:-)& H9 i* B# `. h0 p$ b0 ]
谁知道如何解决这个问题?- e: T) \2 {3 Z: @" s
提前致谢!
: q0 p! d* @# h" u* f' M4 f                                                                - i& \* J* N/ O& W5 s
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则