возможен ли такой запрос: есть таблица в которой есть 2 колонки name и text Мне нужно вытащить в одном запросе и в одной строке 3 данных То есть есть простой запрос
SELECT text FROM table WHERE name IN ("1", "2", "3");
Но он выводит 3 строки а мне нужно 1 строку вывести в которой будет text первого второго и третьего name чтобы потом не использовать while или foreach возможно ли такое?
Select SUBSTRING(
(
SELECT text AS 'data()'
FROM table
where name in ("1", "2", "3")
FOR XML PATH('')
), 2 , 9999) As name
Спасибо ответ не нужен вот решение, вдруг кому надо
SELECT text AS text1, (SELECT text AS text2 FROM languages_template WHERE name = '2') AS text2,
(SELECT text AS text3 FROM languages_template WHERE name = '3') AS text3 FROM languages_template WHERE name = '1';
SELECT MAX(CASE WHEN name=1 THEN text END) text1,
MAX(CASE WHEN name=2 THEN text END) text2,
MAX(CASE WHEN name=3 THEN text END) text3
FROM languages_template
WHERE name IN (1,2,3)
Пример с использованием GROUP_CONCAT
SELECT GROUP_CONCAT(text) AS texts FROM table WHERE name IN ("1", "2", "3");
Сборка персонального компьютера от Artline: умный выбор для современных пользователей