我有一张产品表。
Create Table tblProduct
(
ID int,
Project_No int,
OrderDate date
)
insert into tblProduct values (2580, 100, '2012-01-13')
insert into tblProduct values (2581, 101, '2012-01-21')
insert into tblProduct values (2582, 102, '2012-03-04')
insert into tblProduct values (2583, 103, '2012-02-14')
我需要与月份结合并根据订单日期给出如下输出(但我不想在输出结果中显示):
Jan 2580 100
Feb 2581 101
Mar 2582 102
但我个月没有单独的表格。
所以,我认为我必须使用SELECT.....UNION ALL
来实现我想要的目标。
但我不知道如何使用。有人可以对此有所了解吗?
答案 0 :(得分:1)
只需使用:
> System.DivideByZeroException: Attempted to divide by zero. at
> System.Math.Log(Double a, Double newBase)
答案 1 :(得分:0)
我可以在不使用UNION ALL运算符的情况下获得所需的输出。
将您的查询执行到我的SSMS2014
create table tblProduct(
ID int,
Project_No int,
OrderDate datetime
)
insert into tblProduct
values
(2581,100,'2012-01-13'),
(2581,101,'2012-01-21'),
(2582,102,'2012-03-04'),
(2583,103,'2012-02-14')
select * from tblProduct
select
LEFT(DATENAME(month,OrderDate),3) as DateColumn,
ID,
Project_No
from tblProduct
更多阅读DATENAME
答案 2 :(得分:0)
谢谢你们的帮助。我终于弄明白并完全达到我想要的目的。
SELECT '1'As Mnth, ID as ProductID,Project_No,OrderDate
from T2
where month(OrderDate)=1
UNION
select '2'As Mnth, ID as ProductID,Project_No,OrderDate
from T2
where month(OrderDate) =2
UNION
select '3'As Mnth, ID as ProductID,Project_No,OrderDate
from T2
where month(OrderDate) =3
UNION
select '4'As Mnth, ID as ProductID,Project_No,OrderDate
from T2
where month(OrderDate) =4
在这里,我不必为Month创建一个单独的表,而且我也不需要提前创建任何表来获得结果。