[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Срочно! Помогите! SQL-запрос
Нимфа
Оочень срочно надо решить одну интересную задачку! SQL - запрос, который выведет столько столбцов, сколько строк в таблице!



Спустя 1 минута, 27 секунд (1.04.2009 - 23:04) Нимфа написал(а):
средствами только SQL это сделать можно??

Спустя 21 минута, 54 секунды (1.04.2009 - 23:26) Нимфа написал(а):
скорей всего можно это сделать с использованием хранимых процедур

Спустя 10 минут, 9 секунд (1.04.2009 - 23:36) kirik написал(а):
Вывести количество столбцов используя лишь SQL скорее всего не удастся.. А количество строк -
SQL
SELECT COUNT(*) FROM `table`


Спустя 1 минута, 36 секунд (1.04.2009 - 23:38) Нимфа написал(а):
Или crosstab , что более вероятно! Но не знаю как! Кто нибудь может подсказать?

Спустя 5 минут, 31 секунда (1.04.2009 - 23:43) Нимфа написал(а):
Опишу подробней:
таблица FIRST
ID______name
_____________
1_______name1
2_______name2
3_______name3

таблица SECOND
ID__IDFirst___value
________________
1____1______value1
2____1______value2
3____3______value3

должно выводить
name1____name2___name3
________________________
value1_____ ________value3
value2_____ _____________

Спустя 12 минут (1.04.2009 - 23:55) Нимфа написал(а):
sad.gif

Спустя 24 минуты, 40 секунд (2.04.2009 - 00:20) Alchemist написал(а):
с вероятностью в 99% одним запросом этого сделать нельзя. Просто потому что кол-во и типы столбцов в результате определяются до того как начинается сканирование исходных таблиц.

с вероятностью 100% нужный тебе результат можно получить в пхп

Спустя 5 часов, 16 минут, 9 секунд (2.04.2009 - 05:36) Kuliev написал(а):
Цитата (Нимфа @ 1.04.2009 - 20:43)
Опишу подробней:
таблица FIRST
ID______name
_____________
1_______name1
2_______name2
3_______name3

таблица SECOND
ID__IDFirst___value
________________
1____1______value1
2____1______value2
3____3______value3

должно выводить
name1____name2___name3
________________________
value1_____  ________value3
value2_____  _____________

SQL
SELECT COUNT(*) FROM first, second;

Выведет количество строк в обоих таблицах!

Спустя 1 час, 35 минут, 17 секунд (2.04.2009 - 07:11) Sylex написал(а):
PHP
$r mysql_query("SHOW FIELDS FROM tbl_name");
echo 
mysql_num_rows($r);

Спустя 5 часов, 37 минут, 25 секунд (2.04.2009 - 12:49) sergeiss написал(а):
Если я не ошибаюсь, то таблицы в MySQL, как и в любой другой БД, имеет ограничение на количество столбцов.
Запрос, сделанный в MySQ - это та же таблица, только временная. И если в исходной таблице количество строк будет превышать допустимый предел для количества столбцов, то тогда задача в принципе не сможет быть решена средствами SQL.
И опять же... А зачем именно средствами SQL это делать? В ПХП такое транспонирование можно будет сделать легко и просто.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.