altairo2087
11.11.2012 - 13:06
Как-то на собеседовании встретилась мне такая задачка (опишу кратко, как помню):
У вас есть пустая база данных.
Как получить запросом такой результат?
1
2
3
3
(Это таблица из одной колонки)
Это было достаточно давно, но задача не дает покоя)) Может у кого есть идея?
sergeiss
11.11.2012 - 14:47
Цитата (johniek_comp @ 11.11.2012 - 14:13) |
select 1,2,3,3 |
ты так получишь 4 колонки
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
sergeiss
11.11.2012 - 14:49
Цитата (altairo2087 @ 11.11.2012 - 13:06) |
Как получить запросом такой результат?
1 2 3 3
(Это таблица из одной колонки) |
Если учесть, что в БД данных нет никаких, то тогда можно выбирать просто "из воздуха".
Можно так предложить:
select 1
union all
select 2
union all
select 3
union all
select 3
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Placido
11.11.2012 - 21:36
johniek_comp, потому что UNION без ALL игнорирует повторяющиеся наборы значений. Можно было бы так
select 1
union
select 2
union
select 3
union all
select 3;
sergeiss
11.11.2012 - 21:42
Цитата (johniek_comp @ 11.11.2012 - 21:07) |
а зачем all? |
Ты бы не задавал этот вопрос, а просто проверил с ALL и без него. Я думаю, как раз в данном случае разницу заметишь сразу. Это при условии, что ТЕБЕ просто ТУПО ЛЕНЬ посмотреть в документации. Но если ты глянешь документацию, то там найдешь ответ на свой же вопрос.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)