Главная страница
    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.037 c
1-1098969479
Relaxxx
2004-10-28 17:17
2004.11.14
Хочу сделать у программы выбор языка интерфейса, как???


4-1096825772
avs
2004-10-03 21:49
2004.11.14
В старых мониторах


14-1098792737
Erik1
2004-10-26 16:12
2004.11.14
Создание TMemDataSet для подержки древовидной структуры.


4-1097141154
lightix
2004-10-07 13:25
2004.11.14
Узнать ID активного приложения


6-1094536049
WondeRu
2004-09-07 09:47
2004.11.14
Как оследить обрыв сети?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский