我有此表(url_table):
+----+---------------+-------------+
| id | language_code | url |
+----+---------------+-------------+
| 60 | de | german_url |
| 60 | en | english_url |
| 60 | fr | france_url |
| 60 | es | spanish_url |
+----+---------------+-------------+
我想将这两个查询合并为一个:
SELECT url FROM url_table WHERE id = 60 AND language_code = 'de';
SELECT url FROM url_table WHERE id = 60 AND language_code = 'en';
结果应为德语和英语url,但重命名为url_de和url_en:
url_de: german_url
url_en: english_url
最佳答案
您可以尝试使用in
SELECT url
FROM url_table
WHERE id = 60 AND language_code in ('de','en');
从您期望的结果来看,您可以尝试使用
concat
函数。查询#1
SELECT concat('url_',language_code ,':',url)
FROM url_table
WHERE id = 60 AND language_code in ('de','en');
| concat('url_',language_code ,':',url) |
| ------------------------------------- |
| url_de:german_url |
| url_en:english_url |
View on DB Fiddle
关于mysql - 在同一表的同一列中查询不同条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53727162/