sql - 显示返回的查询值的格式化版本
问题描述
我正在尝试找出解决我在数据库中遇到的问题的最佳方法。我没有选择返回并更改架构的选项,因此我一直在努力寻找解决方法。
Table 1:
User => Column MailingCountry = Either (en-Country(en-US), Country (US), or Null)
Table 3:
SMSCode => Column CountryCode = en-Country (en-US), Column SMSCode = Code (1 for US).
我想知道是否有办法:
- 获取 User.MailingCountry 并检查其格式是否为 'en-US'、'US' 或 'NULL'
- 如果它在'en-US'我们很好,如果它在'US',我想在返回的结果中将它替换为'en-US',如果它是'NULL',我喜欢它默认为“en-US”。
- 与 SMS.CountryCode 进行内部联接,其中 User.MailingCountry = SMS.CountryCode,然后检索 SMSCode。
我想问题是,我不确定我该怎么做
Select m.MailingCountry, a.SMSCode FROM User m->
IF (m.MailingCountry = 'US' or m.MailingCountry is null) Then m.MailingCountry = 'en-US'
Inner Join SMSCode a on a.CountryCode = m.MailingCountry
解决方案
您可以进行以下查询:
SELECT SMS.SMSCode
FROM
(SELECT CASE WHEN MailingCountry like '%US%' OR MailingCountry IS NULL THEN 'en-US'
ELSE MailingCountry END AS MailingCountry
FROM User) AS u
INNER JOIN SMSCode AS SMS
ON SMS.CountryCode = u.MailingCountry
推荐阅读
- java - 新的 Google Places SDK 不会在 Android 中获取用户选择
- jekyll - 我的 Jekyll 帖子在生产中抛出 404 错误
- youtube-data-api - publishedAfter 参数现在似乎被破坏了
- installation - 使用 CustomAction 卸载 Wix 的问题
- java - java - 如何在java中以某个角度向前移动形状?
- matlab - 如何在此图像中找到边界表面
- android - 如何从“addOnSuccessListener”中的firebase存储中获取字符串中的下载URL
- android - 如何更改首选项的字体大小?
- javascript - 来自 React 渲染方法中变量的对象数组的问题
- python - 读取 csv 文件时出现无效的继续字节错误