将 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 Vtable 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 ofor 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
解决方案: |
|
|
|
|
|