首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL select replace -使用手动值而不是连接的查找表

MySQL select replace -使用手动值而不是连接的查找表
EN

Stack Overflow用户
提问于 2010-08-13 17:56:03
回答 1查看 717关注 0票数 1

我将这3个表合并到一个带有内部连接的报表查询中(这是一个简化的示例):

代码语言:javascript
运行
复制
USERS
ID    NAME    CODE1    CODE2
1     James   c1_2     c2_3
2     Bob     c1_3     c2_1

C1
CODE1     VALUE
c1_1      interested
c1_2      maybe
c1_3      not interested

C2
CODE1     VALUE
c2_1      prepared
c2_2      self-study
c2_3      novice

查询结果如下所示:

代码语言:javascript
运行
复制
NAME     INTEREST          PREPARED
James    maybe             novice
Bob      not interested    prepared

我想去掉查找表,只使用USERS表和一些聪明的REPLACE()语句创建这个查询结果。这是可以做到的吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-13 18:07:06

当然可以,但我不明白这一点。

代码语言:javascript
运行
复制
SELECT  u.Name, c1.Value, c2.Value
FROM    dbo.Users u
        INNER JOIN (
          SELECT 'c1_1' as Code1, 'interested' as Value
          UNION ALL SELECT 'c1_2', 'maybe'
          UNION ALL SELECT 'c1_3', 'not interested'
        ) c1 ON c1.Code1 = u.Code1
        INNER JOIN (
          SELECT 'c2_1' as Code1, 'prepared' as Value
          UNION ALL SELECT 'c2_2', 'self-study'
          UNION ALL SELECT 'c2_3', 'novice'
        ) c2 ON c2.Code1 = u.Code2

ps。我知道这(很可能)不是你的意思,但我的猜测是,它总是比任何替换解决方案都要好,而且更灵活。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3475759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档