我有这样的示例数据:
DECLARE @T Table (ID INT, Name VARCHAR(10), DOB DATE)
INSERT INTO @T (ID,Name,DOB) VALUES (1,'Mohan','2016-11-11')
INSERT INTO @T (ID,Name,DOB) VALUES (2,'Raj','2016-11-07')
INSERT INTO @T (ID,Name,DOB) VALUES (3,'Manny','2016-10-30')
INSERT INTO @T (ID,Name,DOB) VALUES (4,'kamal','2016-11-01')
INSERT INTO @T (ID,Name,DOB) VALUES (5,'Raj','2016-11-08')
INSERT INTO @T (ID,Name,DOB) VALUES (6,'Manasa','2016-11-10')
Run Code Online (Sandbox Code Playgroud)
我的问题是我周日在这张桌子上运行查询(即2016年11月6日)
例如 :
Select Count(*), Cnt
from @T /* how to write logic for missing days */
Run Code Online (Sandbox Code Playgroud)
我的输出:
Cnt Days
6 0 Days
Run Code Online (Sandbox Code Playgroud)
当我在周四(即2016年11月6日)运行它时也是如此
Cnt Days
6 4 Days
Run Code Online (Sandbox Code Playgroud)
我怎么需要得到这个.如果它在星期六运行,它将在每个星期日运行它应该显示6天和星期日到星期日计算.
请提出一些做法的方法 - 我无法继续前进
我有两个表Test和TestHistory
CREATE TABLE [dbo].[TEST](
[ID] [int] NULL,
[Name] [varchar](10) NULL,
[Status] [char](1) NULL,
[CreatedDate] [datetime] NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Test_History](
[ID] [int] NULL,
[Name] [varchar](10) NULL,
[Status] [char](1) NULL,
[CreatedDate] [datetime] NULL
) ON [PRIMARY]
GO
INSERT INTO TEST ([ID],[Name],[Status],[CreatedDate])values (1,'Mohan','A',GETDATE())
Run Code Online (Sandbox Code Playgroud)
创建的触发器:
ALTER TRIGGER [dbo].[trg_Test]
ON [dbo].[TEST]
FOR UPDATE
AS
Declare @ID INT;
Declare @Name varchar(10);
Declare @Status CHAR(2);
Declare @CreatedDate DATETIME;
Select @ID = I.ID from INSERTED I
Select @Name = I.Name from INSERTED I
Select …Run Code Online (Sandbox Code Playgroud) 例如,我在数据库中有2个表.例:表T:
declare @t table (name varchar(20),DOB date)
Insert into @t (name,DOB) values ('Mohan','2001-07-19')
Insert into @t (name,DOB) values ('Minu','1998-06-19')
Run Code Online (Sandbox Code Playgroud)
表:TT
declare @tt table (name varchar(20),DOB date)
Insert into @tt (name,DOB) values ('Raju','2010-07-19')
Insert into @tt (name,DOB) values ('Rani','2001-06-19')
Run Code Online (Sandbox Code Playgroud)
现在我有一个Query来获取基于Date类型过滤器的多个表的表名和列名.
SELECT C.TABLE_SCHEMA, c.TABLE_NAME,c.COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS c
JOIN sys.objects o ON o.name = c.TABLE_NAME
WHERE o.type = 'U' AND C.DATA_TYPE = 'Datetime'
Run Code Online (Sandbox Code Playgroud)
输出:
T_Schema T_name T_column
dbo T DOB
dbo TT DOB
Run Code Online (Sandbox Code Playgroud)
但是如何获得两个表的最大日期,如下面的输出:
T_Schema T_name T_column Max_dt
dbo T DOB 2001-07-19
dbo …Run Code Online (Sandbox Code Playgroud) 如何基于他们的最后一次计数重新选择.我已经根据最后一次计数写了一个查询来重新设置.但是一次如何做10个表.
declare @last int
select @last=max(empid) from Table_1
DBCC CHECKIDENT (Table_1, RESEED, @last)
Run Code Online (Sandbox Code Playgroud)
但如何处理超过10个表或更多表...根据最后一次计数一次性重新播种
我有要求
样本数据:表A:
ID name
1 cat
2 Dog
3 Bird
Run Code Online (Sandbox Code Playgroud)
表B:
ID name
1 aaa
1 bbb
2 ccc
2 ddd
Run Code Online (Sandbox Code Playgroud)
表C:
ID name
1 xxx
1 yyy
1 zzz
2 www
Run Code Online (Sandbox Code Playgroud)
要求输出:
ID name name name
1 cat aaa xxx
1 cat bbb yyy
1 cat null zzz
2 Dog ccc www
2 Dog ddd www
3 Bird NULL NULL
Run Code Online (Sandbox Code Playgroud)
我尝试过不同的连接
Select a.ID,a.name,b.name,c.name from @A a
full join @b b
on a.ID = b.ID
full join @c c
on …Run Code Online (Sandbox Code Playgroud) 我的表格中包含所有列名称(有超过80列,我现在无法更改列名称),格式为"_".像First_Name,Last_Name,...
所以我想使用select * from table而不是使用AS.
我想通过在一个语句中删除"_"来选择它们.无论如何我能做到吗?Replace(coulmnName, '_','')在select语句中的东西?
谢谢
我有这样的表
DECLARE @T Table
(
EmployeDesc VARCHAR(20),
Empname Varchar(50),
headOffice INT,
SubOffice INT
);
Run Code Online (Sandbox Code Playgroud)
样本数据
INSERT INTO @T(EmployeDesc, Empname, headOffice, SubOffice) VALUES
('Sale','Rob',2,3),
('Discount','Rob',6,10),
('Sale','BOB',2,3),
('Discount','BOB',2,3);
Run Code Online (Sandbox Code Playgroud)
我们如何在SQL服务器中实现这一点
EmployeDesc Empname headOffice SubOffice
Sale Rob 2 3
Discount Rob 6 10
**Rob Total** 8 13
Sale BOB 2 3
Discount BOB 2 3
**BOB Total** 4 6
Run Code Online (Sandbox Code Playgroud)
我们可以使用UNION ALL或运行总计,但有没有其他方法可以做到这一点.
任何人都可以建议我
我有样本数据
+----+-----------+
| Id | Name |
+----+-----------+
| 1 | $John |
| 2 | $Carol |
| 3 | $Mike |
| 4 | $Sam |
| 5 | $David$Mohan$ |
| 6 | Robert$Ram$ |
| 8 | Maxwell$ |
+----+-----------+
Run Code Online (Sandbox Code Playgroud)
我需要删除唯一的 $ 第一个字符
需要输出:
+----+-----------+
| Id | Name |
+----+-----------+
| 1 | John |
| 2 | Carol |
| 3 | Mike |
| 4 | Sam |
| 5 | David$Mohan$ | …Run Code Online (Sandbox Code Playgroud) 为什么我们需要使用BizTalk来处理HL7消息?有没有其他选择而不是BizTalk?
我需要确切的原因,我们只需要选择退出BizTalk ......还有其他方法来处理HL7消息吗?