Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TABLE [dbo].[PenData](
- [IDUkazatel] [smallint] NOT NULL,
- [Cas] [datetime2](0) NOT NULL,
- [Hodnota] [real] NULL,
- [HodnotaMax] [real] NULL,
- [HodnotaMin] [real] NULL,
- CONSTRAINT [PK_Data] PRIMARY KEY CLUSTERED
- (
- [IDUkazatel] ASC,
- [Cas] ASC
- )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
- ) ON [PRIMARY]
- ALTER TABLE [dbo].[PenData] WITH NOCHECK ADD CONSTRAINT [FK_Data_Ukazatel] FOREIGN KEY([IDUkazatel])
- REFERENCES [dbo].[Ukazatel] ([IDUkazatel])
- ALTER TABLE [dbo].[PenData] CHECK CONSTRAINT [FK_Data_Ukazatel]
- DECLARE @t1 DATETIME;
- DECLARE @t2 DATETIME;
- SET @t1 = GETDATE();
- SELECT min(cas) from PenData p WHERE IDUkazatel=24
- SELECT min(cas) from PenData p WHERE IDUkazatel=25
- SET @t2 = GETDATE();
- SELECT DATEDIFF(millisecond,@t1,@t2) AS elapsed_ms;
- SET @t1 = GETDATE();
- SELECT min(cas) from PenData p WHERE IDUkazatel=24 OR IDUkazatel=25
- SET @t2 = GETDATE();
- SELECT DATEDIFF(millisecond,@t1,@t2) AS elapsed_ms;
- SELECT MIN(cas) from PenData p WHERE IDUkazatel IN (SELECT IDUkazatel FROM ...)
- SELECT MIN(cas)
- FROM (
- SELECT cas=MIN(cas) FROM PenData p WHERE p.IDUkazatel = 24
- UNION ALL
- SELECT cas=MIN(cas) FROM PenData p WHERE p.IDUkazatel = 25
- ) AS minimums
- SELECT
- MinCas = MIN(CA.PartialMinimum)
- FROM @T AS T
- CROSS APPLY
- (
- SELECT
- PartialMinimum = MIN(PD.Cas)
- FROM dbo.PenData AS PD
- WHERE
- PD.IDUkazatel = T.IDUkazatel
- ) AS CA;
- SELECT MIN(cas) from PenData p WHERE IDUkazatel IN (...)
- DECLARE @IDZapisovac int = 1
- DECLARE @MinCas DateTime2(2) = NULL
- DECLARE @IDUkazatel smallint
- DECLARE @Cas DateTime2(2) = NULL
- DECLARE helper CURSOR FOR
- SELECT IDUkazatel FROM ...
- OPEN helper
- FETCH NEXT FROM helper INTO @IDUkazatel
- WHILE @@FETCH_STATUS = 0
- BEGIN
- SELECT @Cas = MIN(Cas) FROM PenData WHERE PenData.IDUkazatel=@IDUkazatel
- IF (@cas IS NOT NULL AND @cas<ISNULL(@MaxCas, '21000101'))
- SET @MinCas = @cas
- FETCH NEXT FROM helper INTO @IDUkazatel
- END
- CLOSE helper;
- DEALLOCATE helper;
- SELECT @MinCas
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement