我有此表(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/

10-12 21:58
查看更多