[英]removing null value from string
我想用language_id'us'和'ru'顯示翻譯后的名稱和描述。 我的問題是如何刪除空值?
SELECT DISTINCT CASE WHEN LANGUAGE_ID = 'US' THEN COALESCE(TO_CHAR(TRANSLATED_NAME), ' ')
END AS PRODUCT_NAME_US,
CASE WHEN LANGUAGE_ID = 'US' THEN INITCAP(CONCAT(SUBSTR(TRANSLATED_DESCRIPTION, 1, 30), '...'))
END AS PRODUCT_DESC_US,
CASE WHEN LANGUAGE_ID = 'RU' THEN COALESCE(TO_CHAR(TRANSLATED_NAME), ' ')
END AS PRODUCT_NAME_RU,
CASE WHEN LANGUAGE_ID = 'RU' THEN INITCAP(CONCAT(SUBSTR(TRANSLATED_DESCRIPTION, 1, 30), '...'))
END AS PRODUCT_DESC_RU
FROM PRODUCT_DESCRIPTIONS;
我懷疑您想要這樣的東西:
SELECT PRODUCT_ID,
MAX(CASE WHEN LANGUAGE_ID = 'US' THEN COALESCE(TO_CHAR(TRANSLATED_NAME), ' ')
END) AS PRODUCT_NAME_US,
MAX(CASE WHEN LANGUAGE_ID = 'US' THEN INITCAP(CONCAT(SUBSTR(TRANSLATED_DESCRIPTION, 1, 30), '...'))
END) AS PRODUCT_DESC_US,
MAX(CASE WHEN LANGUAGE_ID = 'RU' THEN COALESCE(TO_CHAR(TRANSLATED_NAME), ' ')
END) AS PRODUCT_NAME_RU,
MAX(CASE WHEN LANGUAGE_ID = 'RU' THEN INITCAP(CONCAT(SUBSTR(TRANSLATED_DESCRIPTION, 1, 30), '...'))
END) AS PRODUCT_DESC_RU
FROM PRODUCT_DESCRIPTIONS
GROUP BY PRODUCT_ID; -- whatever each row defines
這會對每種產品進行明確的匯總(當然使用適當的ID),並將英語和俄語翻譯放在適當的列中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.