Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - Форматирование запроса SQL

Ответить
Настройки темы
MSFT SQL Server - Форматирование запроса SQL

Аватара для ValVlaGen

Пользователь


Сообщения: 64
Благодарности: 0

Профиль | Отправить PM | Цитировать


Поскажите плиз. Допустим имеется таблица d с полем date типа date вот. Каким образом можно представить все эти дни в виде таблицы из 7 столбцов, где каждая строка представляет собой неделю от понедельника до воскресенья. ну что то типа:

Пон. Втор. Среда. Четв. Пятн. Суб. Вос.
null null null 1950-05-01 1950-05-02 1950-05-03 1950-05-04

Заранее благодарен за ответы.

Отправлено: 13:34, 18-11-2008

 

Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Может быть что-то вроде этого:
Код: Выделить весь код
SELECT `date` AS 'Четв.' FROM `d` WHERE DATEDIFF(day, '1950-05-01', `date`)%7=0;
Здесь только для одного дня недели, но уж если будет работать, то сами разберётесь как все семь вывести
Функция DATEDIFF() в теории считает количество (дней в данном случае) между первой и второй датой. Далее - берём остаток от деления на 7. Если равен нулю, то такой-то день (хз какой, может быть четверг, может, понедельник или что-то другое. Там видно будет), если единице - следующий .
Подробнее про DATEDIFF().

Проверить не могу, т.к. нет ни MS-SQL-сервера, ни желания заполнять таблицу значениями.

Отправлено: 14:34, 18-11-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для ValVlaGen

Пользователь


Сообщения: 64
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо конечно, но что то подобное я могу сам написать причем еще проще:

Код: Выделить весь код
SELECT date AS 'Четв.' FROM d WHERE DATEPART(dw,d.date)=3 ;
Меня же как раз интересует вопрос представления всех этих дней в виде таблицы:

Пон. Втор. Среда. Четв. Пятн. Суб. Вос.

null null null 1950-05-01 1950-05-02 1950-05-03 1950-05-04
1950-05-05 1950-05-06 1950-05-01 1950-05-07 1950-05-08 1950-05-09 1950-05-10
и т.д.

Вот в чем дело. Все еще жду ваших предложений.

Отправлено: 15:08, 18-11-2008 | #3


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


ValVlaGen, а смысл? - сервер возвращает данные. За их красивое отображение отвечает клиент.

Отправлено: 19:02, 18-11-2008 | #4


Аватара для ValVlaGen

Пользователь


Сообщения: 64
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Busla:
ValVlaGen, а смысл? »
Классное решение!!

Отправлено: 07:31, 19-11-2008 | #5


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


ValVlaGen,
Решайте клиентов.... Пусть база вернёт все даты, но отсортированные по возрастанию - и теперь достаточен всего один while, чтобы построить нужную вам таблицу (так как даты отсортированы - там точно идут дни по порядку)

-------
Fortes fortuna adiuvat


Отправлено: 10:10, 19-11-2008 | #6


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


ValVlaGen, ваш запрос "перевернуть" на стороне сервера не получится, подобное "транспонирование" можно, как уже указали, сделать только на стороне клиента, при отображении.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 01:24, 24-11-2008 | #7


Аватара для ValVlaGen

Пользователь


Сообщения: 64
Благодарности: 0

Профиль | Отправить PM | Цитировать


Я уже решил данную задачу на стороне сервера. У меня другой вопрос как можно написать запрос на изменение порядка слов на обратный. Например есть текстовое поле
Код: Выделить весь код
Мама мыла раму
, а на выходе запрос выдавал бы
Код: Выделить весь код
раму мыла Мама
. Высказывайте свои идеи господа.

Отправлено: 09:44, 24-11-2008 | #8


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Цитата ValVlaGen:
У меня другой вопрос как можно написать запрос на изменение порядка слов на обратный »
ValVlaGen, а зачем эти танцы с бубном на сервере? Зачем лишний раз насиловать, не проще на клиенте это сделать? Ваш вариант возможно сделать при использовании процедуры или самописной функции, но зачем?

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 00:47, 25-11-2008 | #9


Аватара для ValVlaGen

Пользователь


Сообщения: 64
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Delirium:
ValVlaGen, а зачем эти танцы с бубном на сервере? »
Нет ну какие умные и отзывчивые люди мне отвечают. Вместо конкретной помощи в решении поставленной задачи, мне говорят: Да зачем тебе это?

Ну правда классное решение. Дизреспект за такие ответы ребята. Мне помошь нужна, а не нравоучения. Если не знаете как это сделать, ну правда не пишите нечего тогда.

Отправлено: 08:52, 26-11-2008 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - Форматирование запроса SQL

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
MSFT SQL Server - [решено] Помощь в написании SQL запроса для базы maxon-86 Программирование и базы данных 4 20-01-2010 09:17
Разное - [решено] *SQL* | MS SQL-2005 как узнать зависимые таблицы pva Программирование и базы данных 1 21-09-2009 10:55
Использование - SQL Srv Ent -> SQL Express, сколько нужно CAL'ов? vpp Лицензирование продуктов Microsoft 1 11-09-2009 13:34
MSFT SQL Server - Подскажите что лучше ставить SQL 2000 или SQL 2005 на Server 2003 ForGroin Программирование и базы данных 6 23-03-2008 20:54
MySQL - Исполнение sql запроса в скрипте Negativ Программирование и базы данных 1 09-08-2007 14:59




 
Переход