Kan man skapa ett visst antal rader i en MSSQL Db via en Stored Procedure. Tex via någon loop eller nått? Du kan använda en while loop t.ex. Men skapas verkligen lika många nya rader nu som Kalle Kula förekommer i tabellen närvaro? <b>Men skapas verkligen lika många nya rader nu som Kalle Kula förekommer i tabellen närvaro? </b> Jag trodde att jag visste precis vad du menade, och det har också Ola svarat på, men sedan började du prata om union... Antingen vet du inte vad man använder union till, eller också menar du någonting helt annat än det du säger... Var inte meningen som ett ifrågasättande mer som en fråga om ni verkligen förstod vad jag menade. Förstod mig nästan inte själv så jag blev väl lite chockad och var tvungen att dubbelkolla. Man får ursäkta.Skapa ett visst antal rader.
Jag har en tabell som heter närvaro, i den finns följande data tex:
[Namn] [Datum]
Kalle Kula 050102
Kalle Kula 050103
Kalle Kula 050105
Vad jag nu vill är att kolla hur många gånger Kalle Kula förekommer och sedan skapa så många rader i samma tabell. Tex..
[Namn] [Datum]
Kalle Kula 050102
Kalle Kula 050103
Kalle Kula 050105
...........nya rader......
Kalle Kula 050102
Kalle Kula 050103
Kalle Kula 050105
Går detta????Sv: Skapa ett visst antal rader.
declare @n int
set @n=1
WHILE @n<11
BEGIN
-- kör din grej 10 ggr
set @n = @n+1
END
--men i det här fallet är följande en bättre lösning
--du behöver ingen loop alltså (mycket bättre prestanda..)
INSERT INTO T(Namn,Datum)
SELECT Namn,Datum
WHERE Namn = "Kalle Kula"Sv:Skapa ett visst antal rader.
Om jag tex har i min SP denna select satts:
SELECT 'Arbetstid' AS Kategori,'Närvaro' AS UnderKat,Namn,NärvaroDatum AS Datum
FROM Närvaro WHERE (Namn = 'Kalle Kula') And NärvaroDatum BETWEEN 2005-01-01 And 2005-01-30
Så får jag följande resultat:
[Kategori] [Underkat] [Namn] [Datum]
Arbetstid Närvaro Kalle Kula 2005-01-01
Arbetstid Närvaro Kalle Kula 2005-01-02
Arbetstid Närvaro Kalle Kula 2005-01-04
Sen vill jag i samma tabell(resultat) få in via en UNION *tre nya rader (skall baseras på hur många gånger den förekommer i första selecten)
[Kategori] [Underkat] [Namn] [Datum]
Arbetstid Närvaro Kalle Kula 2005-01-01
Arbetstid Närvaro Kalle Kula 2005-01-02
Arbetstid Närvaro Kalle Kula 2005-01-04
Arbetstid Normtid Kalle Kula 2005-01-01
Arbetstid Normtid Kalle Kula 2005-01-02
Arbetstid Normtid Kalle Kula 2005-01-04
Kan tänka mig att det blir någon COUNT för att få fram antal förekomster i första selecten och sedan
Göra någon INSERT INTO i en ny select satts efter UNION????
Hoppas att ni förstår vad jag menar och vill åstadkomma.
Förslag??Sv: Skapa ett visst antal rader.
JA...
Prova innan du ifrågasätter..?Sv: Skapa ett visst antal rader.
Sv:Skapa ett visst antal rader.