mysql合并查询

最近在学习用MySQL,现在有两个表和想合并查询一下,并且显示中文,想求解在不写各种语言的代码的情况下,仅用SQL是否能够满足?如果可以,能否直接帮忙实现一下,感谢。

查询结果想显示如下:

man women Inviter bindState
鸽屿 淤浪 鸽屿 同城
漫长 挽安 挽安 异地

其中man和woman的值是customer中的ID,customer中的sex1是男,2是女
relation表中的bindState字段0是未设置,1是异地,2是同城;Inviter中的值是women和man中的二选一

数据表

customer表

id nickname sex
1 鸽屿 1
2 淤浪 2
3 漫长 1
4 挽安 2
5 沭瑾 1
6 苏苒 2
7 余七 1
8 烟柳 2
9 宠命 1
10 落尘 2
11 姌冰 1
12 罪鹜 2
13 阴霾 1
14 目光 2
15 末栀 1
16 等灯 2
17 昔瞳 1
18 宁夏 2
19 俞事 1
20 闻枯 2
21 玩味 1
22 莫姬 2
23 初遇 1
24 服软 2
25 尤人 1
26 疚爱 2
27 绣羽 1
28 南续 2
29 氧气 1
30 望倾 2
31 酒基 1
32 久孤 2
33 夏冰 1
34 凉兮 2
35 果汁 1
36 未眠 2
37 胭話 1
38 浣鸽 2
39 思你 1
40 蚀妆 2
41 凛然 1
42 策马 2
43 临温 1
44 鱼芗 2
45 零柒 1
46 恶寒 2
47 解语 1
48 归凰 2
49 沙话 1
50 饮舟 2

relation表

id man women Inviter bindState
1 1 2 1 0
2 3 4 4 1
3 5 6 5 2
4 7 8 8 0
5 9 10 9 1
6 11 12 12 2
7 13 14 13 0
8 15 16 16 1
9 17 18 17 2
10 19 20 20 0
11 21 22 21 1
12 23 24 24 2
13 25 26 25 0
14 27 28 28 1
15 29 30 29 2
16 31 32 32 0
17 33 34 33 1
18 35 36 36 2
19 37 38 37 0
20 39 40 40 1
21 41 42 41 2
22 43 44 44 0
23 45 46 45 1
24 47 48 48 2
25 49 50 49 0
阅读 2k
1 个回答
SELECT
    c1.nickname man,
    c2.nickname women,
IF
    ( a.Inviter = a.man, c1.nickname, c2.nickname ) Inviter,
IF
    ( a.bindState = 1, '异地', '同城' ) bindState 
FROM
    relation a
    JOIN customer c1 ON a.man = c1.id
    JOIN customer c2 ON a.women = c2.id
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题