2016-02-07 4 views
2

Это мой текущий SQL-запрос:Как изменить запрос выбора SQL Как новая таблица в SQL Server CE?

SELECT 
    SUM(CASE WHEN (DATEDIFF(day, tbl_debit.purchasedate, GETDATE()) >= 45) 
      THEN tbl_invoices.pendingamount ELSE 0 END) AS morethan45, 
    SUM(CASE WHEN (DATEDIFF(day, tbl_debit.purchasedate, GETDATE()) < 45) 
      THEN tbl_invoices.pendingamount ELSE 0 END) AS lessthan45 
FROM 
    tbl_debit 
INNER JOIN 
    tbl_invoices ON tbl_debit.invoice = tbl_invoices.invoice 
WHERE 
    (tbl_invoices.state = - 1) 

Выход выше запроса показан здесь:

morethan45 | lessthan45 
    750   |  710 

И я хочу, чтобы создать новую таблицу, как показано ниже. Можно ли создать что-то новое, как ниже

Column 1  | Column 2 
morethan45 | 750 
lessthan45 | 710 

ответ

2

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

Вместо агрегирование pendingamount основе при условии, вы можете добавить новый столбец, чтобы определить диапазон и использовать его в Group by

SELECT CASE 
     WHEN Datediff(day, tbl_debit.purchasedate, Getdate()) >= 45 THEN 'morethan45' 
     ELSE 'lessthan45' 
     END        AS [Column 1], 
     Sum(tbl_invoices.pendingamount) AS [Column 2] 
FROM tbl_debit 
     INNER JOIN tbl_invoices 
       ON tbl_debit.invoice = tbl_invoices.invoice 
WHERE tbl_invoices.state = -1 
GROUP BY CASE 
      WHEN (Datediff(day, tbl_debit.purchasedate, Getdate()) >= 45) THEN 'morethan45' 
      ELSE 'lessthan45' 
      END 
1

Используйте case в group by:

SELECT (CASE WHEN (DATEDIFF(day, tbl_debit.purchasedate, GETDATE()) >= 45) 
      THEN 'MoreThan45' 
      ELSE 'LessThan45' 
     END) as Column1, 
     SUM(tbl_invoices.pendingamount) as Column2 
FROM tbl_debit INNER JOIN 
    tbl_invoices 
    ON tbl_debit.invoice = tbl_invoices.invoice 
WHERE tbl_invoices.state = -1 
GROUP BY (CASE WHEN (DATEDIFF(day, tbl_debit.purchasedate, GETDATE()) >= 45) 
       THEN 'MoreThan45' 
       ELSE 'LessThan45' 
      END); 

Использование into или insert для заполнения таблицы.

 Смежные вопросы

  • Нет связанных вопросов^_^