|
|
|
| Сложно объяснить, проще нарисовать. Можно ли в запросе, не используя UNION вывести строковые константы в таком виде?
Такой запрос выведет в виде одной строки с перечислеными полями, а нужно в одну колонку.
SELECT dayname as weekday, 'Понедельник', 'Вторник', .... from table;
|
Возможно ли сделать не используя UNION?
select 'Понедельник' as weekday
union select 'Вторник'
union select 'Среда';
|
weekday
Понедельник
Вторник
Среда
Четверг
.... | |
|
|
|
|
|
|
|
для: Слух
(04.03.2010 в 18:11)
| | Нет, нельзя. Собственно, зачем это нужно вообще? | |
|
|
|
|
|
|
|
для: Слух
(04.03.2010 в 18:11)
| | >Понедельник', 'Вторник'
Кирилица в запросе полей SQL ??? | |
|
|
|
|
|
|
|
для: Слух
(04.03.2010 в 18:11)
| | Вот чего я никогда, пожалуй, не пойму, так это ультимативных оговорок вроде "не используя UNION".
Как забить гвоздь, не применяя молотка?
Ужель не видно, что ответом будет (Почему не применяя?)
подразумевая (Возьми молоток и не пудри людям мозги!) | |
|
|
|
|
|
|
|
для: Trianon
(05.03.2010 в 03:55)
| | Тоесть вы хотите сказать что в MySQL нет стандартных методов задать какойто массив определенных значений и потом их вывести строками?
Тоесть если у меня будет таких 20-50 значений которые я хочу вывести нужно сделать столько же юнионов? Хорошее решение, ничего не скажешь. | |
|
|
|
|
|
|
|
для: Слух
(05.03.2010 в 10:51)
| | Если у Вас будет 20-50 строк, которые Вы хотите вывести - значит они уже у Вас в таблице.
Если их у Вас нет - значит Вы их хотите ввести. Есть исключения, правда.
Стандартные методы есть в SQL.
Стандартным методом решения такой задачи (ввод нескольких строк) является цепочка UNION SELECT.
В MySQL вообще стандартных методов нет - все методы нативные.
Одним из нативных методов MySQL является запрос расширенных вставок
INSERT INTO tbl (fieldlist...) VALUES (valuelist...)...(valuelist...)
Но в операторе SELECT его не применить.
Следует отметить, что стандартный метод такой неортогональностью не обладает - его можно применить как в SELECT, так и в INSERT . Хотя пользоваться им при наличии нативного в INSERT - согласен - чистый мазохизм. | |
|
|
|
|
|
|
|
для: Trianon
(05.03.2010 в 12:48)
| | Тогда спрошу еще такой момент.
Нельзя ли на какое то короткое время создать таблицу, даже не создать а просто добавить записи в таблицу не обьявляя ее?
insert into tmp_table (weekday) values( 'Понедельник', 'Вторник')
и потом их же выбрать?
З.Ы. Да это уже из ряда фантастики и применять вряд ли где-то прийдеться, уже просто интересно. | |
|
|
|
|
|
|
|
для: Слух
(05.03.2010 в 12:57)
| | конечно можно.
mysql_insert_id вернет автоинкрементный первичный ключ первой добавленной строки.
Количество Вам известно (хотя может быть получено mysql_affected_rows())
Блок ключей будет непрерывным. WHERE id BETWEEN ... AND ... | |
|
|
|