Uprava kodu operace pokud neni prvni – MS SQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Uprava kodu operace pokud neni prvni – MS SQL – Fórum – Programujte.comUprava kodu operace pokud neni prvni – MS SQL – Fórum – Programujte.com

 

LiveBOmb
~ Anonymní uživatel
2 příspěvky
29. 6. 2016   #1
-
0
-

Ahoj,

mám tabulku, do které se mi zaznamenávají kódy operací, osoby a datum. Potřeboval bych zařídit to, aby se kód operace změnil na jiný pokud se nejedná o první operaci v daném dni pro danou osobu. Je možné s tím helpnout?

Nahlásit jako SPAM
IP: 212.111.31.–
P
~ Anonymní uživatel
212 příspěvků
29. 6. 2016   #2
-
0
-

Zalezi na tom, podle ceho poznas, ze se jedna o prvni operaci v danem dni pro danou osobu.

Pode popisu mas v tabulce kod operace, datum, osobu.

Kdyz tam budou zaznamy

Rezani, 1.6.2016, Adam

Vrtani, 1.6.2016, Adam

Strihani, 1.6.2016, Adam

ktera operace je 1.6.2016 pro Adama prvni?

Nahlásit jako SPAM
IP: 85.93.116.–
LiveBomb
~ Anonymní uživatel
2 příspěvky
29. 6. 2016   #3
-
0
-

#2 P
Jo, zapomněl sem, mám samozřejmě i čas operace.

Nahlásit jako SPAM
IP: 212.111.31.–
P
~ Anonymní uživatel
212 příspěvků
30. 6. 2016   #4
-
0
-

   

CREATE TABLE Operace
(
	  Kod NVARCHAR(50)
	, Datum DATETIME
	, Osoba NVARCHAR(50)
);

INSERT INTO Operace
VALUES
	  ('O001', '2016-06-01T01:00:00', 'Pepa')
	, ('O002', '2016-06-01T02:00:00', 'Franta')
	, ('O003', '2016-06-01T03:00:00', 'Lojza')
	, ('O004', '2016-06-01T04:00:00', 'Pepa')
	, ('O005', '2016-06-01T05:00:00', 'Franta')
	, ('O006', '2016-06-01T06:00:00', 'Lojza')
	, ('O007', '2016-06-01T07:00:00', 'Pepa')
	, ('O008', '2016-06-01T08:00:00', 'Franta')
	, ('O009', '2016-06-01T09:00:00', 'Lojza')
	, ('O001', '2016-06-02T01:00:00', 'Pepa')
	, ('O002', '2016-06-02T02:00:00', 'Pepa')
	, ('O003', '2016-06-02T03:00:00', 'Pepa')
	, ('O004', '2016-06-02T04:00:00', 'Franta')
	, ('O005', '2016-06-02T05:00:00', 'Franta')
	, ('O006', '2016-06-02T06:00:00', 'Franta')
	, ('O007', '2016-06-02T07:00:00', 'Lojza')
	, ('O008', '2016-06-02T08:00:00', 'Lojza')
	, ('O009', '2016-06-02T09:00:00', 'Lojza')
;

UPDATE o
SET o.Kod = 'O***'
FROM Operace o
INNER JOIN (
	SELECT Datum, Osoba, RN = ROW_NUMBER() OVER (PARTITION BY Osoba, YEAR(Datum), MONTH(Datum), DAY(Datum) ORDER BY Datum)
	FROM Operace
) x ON x.Osoba = o.Osoba AND x.Datum = o.Datum AND x.RN > 1
;
Nahlásit jako SPAM
IP: 85.93.116.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 1 host

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý