Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];

Вниз

Помогите перевести код чтоб заработало на FB1.5 Плз!!!   Найти похожие ветки 

 
Нулевой ©   (2004-10-16 14:33) [0]

Такое:

SELECT
 MONTH(Date) AS SaleMonth,
 SUM(CASE YEAR(Date)
       WHEN 2001 THEN Amount
       ELSE 0
     END) AS [2001],
 SUM(CASE YEAR(Date)
       WHEN 2002 THEN Amount
       ELSE 0
     END) AS [2002],
 SUM(CASE YEAR(Date)
       WHEN 2003 THEN Amount
       ELSE 0
     END) AS [2003]
FROM Sales
GROUP BY MONTH(Date)
ORDER BY MONTH(Date)
GO


 
Нулевой ©   (2004-10-16 14:34) [1]

А ещё -

CREATE PROCEDURE sp_CrossTab
 @table       AS sysname,-- Таблица для построения crosstab отчета
 @onrows      AS nvarchar(128),-- Значение для группировки по строкам
 @onrowsalias AS sysname = NULL,-- Псевдоним для группируемой колонки
 @oncols      AS nvarchar(128),-- Значение для группировки по колонкам
 @sumcol      AS sysname = NULL -- Значение для суммирования
AS
SET NOCOUNT ON
DECLARE
 @sql AS varchar(8000),
 @NEWLINE AS char(1)

SET @NEWLINE = CHAR(10)

-- Шаг 1: начало строки SQL.
SET @sql =
 "SELECT" + @NEWLINE +
 "  " + @onrows +
 CASE
   WHEN @onrowsalias IS NOT NULL THEN " AS " + @onrowsalias
   ELSE ""
 END

-- Шаг 2: Хранение ключей во временной таблице.
CREATE TABLE #keys(keyvalue nvarchar(100) NOT NULL PRIMARY KEY)

DECLARE @keyssql AS varchar(1000)
SET @keyssql =
 "INSERT INTO #keys " +
 "SELECT DISTINCT CAST(" + @oncols + " AS nvarchar(100)) " +
 "FROM " + @table

EXEC (@keyssql)

-- Шаг 3: Средняя часть строки SQL.
DECLARE @key AS nvarchar(100)
SELECT @key = MIN(keyvalue) FROM #keys

WHILE @key IS NOT NULL
BEGIN
 SET @sql = @sql + ","                   + @NEWLINE +
   "  SUM(CASE CAST(" + @oncols +
                    " AS nvarchar(100))" + @NEWLINE +
   "        WHEN N""" + @key +
          """ THEN " + CASE
                         WHEN @sumcol IS NULL THEN "1"
                         ELSE @sumcol
                       END + @NEWLINE +
   "        ELSE 0"                      + @NEWLINE +
   "      END) AS [" + @key+"]"

 SELECT @key = MIN(keyvalue) FROM #keys
 WHERE keyvalue > @key
END

-- Шаг 4: Конец строки SQL.
SET @sql = @sql         + @NEWLINE +
 "FROM " + @table      + @NEWLINE +
 "GROUP BY " + @onrows + @NEWLINE +
 "ORDER BY " + @onrows

SET NOCOUNT OFF
PRINT @sql  + @NEWLINE-- для отладки
EXEC (@sql)
GO


 
Нулевой ©   (2004-10-16 14:44) [2]

...http://www.softmatics.ru/sql/10.htm


 
Zacho ©   (2004-10-16 21:58) [3]

Я, например, не помогу. Хотя мог бы, наверное.

Читай http://ln.com.ua/~openxs/articles/smart-questions-ru.html

И кроме того, подумай, почему твой вопрос не вызывает никакого желания помогать.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.039 c
14-1099004036
GuestTM
2004-10-29 02:53
2004.11.14
Существует ли компонент для работы с драйверами RegMon от SysInt?


3-1097723059
Marat
2004-10-14 07:04
2004.11.14
Запуск StoredProc


1-1099167997
ser_ega
2004-10-31 00:26
2004.11.14
Form


1-1098374169
Checist [root]
2004-10-21 19:56
2004.11.14
Управление FlashGet


9-1090223437
Evgeniy_K
2004-07-19 11:50
2004.11.14
Поворот на 180 градусов - DirectDraw





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский