gpt4 book ai didi

mysql - 将基于另一个表mysql的表中的数字替换为字符串

转载 作者:行者123 更新时间:2023-11-29 11:51:59 24 4
gpt4 key购买 nike

我有一个与我为 MySQL 数据库开发的前端相关的问题。我有两个表,表 1 (T1) 由一列整数组成,表 2 (T2) 由一列整数和相应的字符串列组成。 T1和T2的长度不同。

T1 看起来像这样:

num_t1
1
4
6
1
5
3

T2 看起来像这样:

num_t2| string_t2
1 | s1
2 | s2
3 | s3
4 | s4
5 | s5

我想要的是 SELECT T1,但我不想获取整数,而是想要一个包含 T2 中的字符串的列,其中 num_t1 和 num_t2 相等。有道理吗?

所以,如果我说

SELECT * FROM T1

我想要的不仅仅是 num_t1

s1
s4

s1
s5
s3

执行此操作需要什么代码?现在我有一个像这样的静态修复

SELECT * FROM T1
CASE WHEN num_t1 = 1 THEN 's1'
WHEN num_t1 = 2 THEN 's1'
so on...
ELSE 'Not available'
END AS num_t1_string

有没有更动态的方式?因此,每次更改 T1 和 T2 中的整数或字符串时,我不需要修改查询。

如果需要更多说明,请告诉我。

编辑:现在用括号内的代码解决了第一个问题:

SELECT num_id
(SELECT T2.string_t2
FROM T1 LEFT JOIN T2
ON T1.num_t1 = T2.num_t2
ORDER BY T1.num_t1) AS string_t1
FROM T1

但是,当我尝试对此进行子查询时,我收到错误 1242。子查询返回多于一行。我该如何解决这个问题?

最佳答案

正如我所说,您可以使用像这样的联接查询

select T1.num_t1,T2.string_t2 from T1 left join T2 on T1.num_t1=T2.num_t2

我在这里使用右连接来获取表T1的完整数据

如果您需要完整的文档,可以引用此链接

http://dev.mysql.com/doc/refman/5.7/en/join.html

关于mysql - 将基于另一个表mysql的表中的数字替换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33912121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com