PDA

View Full Version : نوشتن یک اسکریپت برای تاریخ



taknavaz123
پنج شنبه 22 خرداد 1393, 10:49 صبح
با سلام.
یه table رو فرض کنید که یک ستون به نام flag داره که توش مقادیر 1 یا 2 وجود داره.یک ستون هم به نام date که توش روزهای مختلف ماهه

حالا میخوام بهش یه دستور آپدیت بدم.
با این مضمون

update جدول set کن تاریخ رو = تاریخ فلاگهای 1
where فلاگت 2 بود.

چه جوری اون قسمت بعد از مساوی رو بنویسم تا بره دقیقا فلاگهای یک رو نگاه کنه.هر تاریخی که داره .دقیقا همون تاریخو بزاره برای فلاگهای 2.
یعنی مثلا تو فلاگهای 1 تاریخ 93/1/1 و 93/1/2 و 93/1/3 هست.ولی تو تاریخ فلاگهای 2 همه تاریخشون 93/1/10.چه جوری تاریخهای فلاگ 2 تراز بشن با تاریخ فلاگ یک.یعنی اونها هم بشن 93/1/1 و 93/1/2 و 93/1/3

taknavaz123
سه شنبه 03 تیر 1393, 09:50 صبح
سلام مجدد.آیا راهی وجود نداره؟؟؟

pezhvakco
سه شنبه 03 تیر 1393, 10:50 صبح
update جدول set کن تاریخ رو = تاریخ فلاگهای 1
where فلاگت 2 بود.
یعنی مثلا تو فلاگهای 1 تاریخ 93/1/1 و 93/1/2 و 93/1/3 هست.ولی تو تاریخ فلاگهای 2 همه تاریخشون 93/1/10.چه جوری تاریخهای فلاگ 2 تراز بشن با تاریخ فلاگ یک.یعنی اونها هم بشن 93/1/1 و 93/1/2 و 93/1/3

سلام
اگه درست فهمیده باشم، جدول شما =


Flag
Date


1
93/01/01


1
93/01/02


1
93/01/03


2
93/01/10


2
93/01/10


2
93/01/10



اگه خواسته شما اینه که به تعداد ردیف های فلگ 1 ردیف باشه با فلگ 2 =

delete from Table01
where Flag = 2;

insert into Table01
(Flag ,Date)
select 2 AS Flag ,Date
from Table01
where Flag = 1;

taknavaz123
شنبه 07 تیر 1393, 09:34 صبح
سلام
اگه درست فهمیده باشم، جدول شما =


Flag
Date


1
93/01/01


1
93/01/02


1
93/01/03


2
93/01/10


2
93/01/10


2
93/01/10



اگه خواسته شما اینه که به تعداد ردیف های فلگ 1 ردیف باشه با فلگ 2 =

delete from Table01
where Flag = 2;

insert into Table01
(Flag ,Date)
select 2 AS Flag ,Date
from Table01
where Flag = 1;





این دستور رو میشه به صورت update بنویسید؟
چون جدول فوق علاوه بر ستونهای ذکر شده ستونهای دیگه ای هم دارن که عملا با دیلیت و اینسرنت اون داده ها از دست میره.
من فقط میخوام داده های ستون دیتا متناسب با فلاگ تغییر کنه

pezhvakco
شنبه 07 تیر 1393, 11:02 صبح
یکم توضیحات شما کم است .
اگه ستون های دیگه ای هم است این بروز رسانی تاریخ برای کدوم ردیف جدول باید انجام شود .

شما نوشته اید : " چه جوری اون قسمت بعد از مساوی رو بنویسم تا بره دقیقا فلاگهای یک رو نگاه کنه.هر تاریخی که داره .دقیقا همون تاریخو بزاره برای فلاگهای 2. "
1) اگه تعداد ردیف های با فلگ 1 و 2 یکی نباشه
2) کدامین ردیف های با تاریخ با فلگ 1 را در کدامین ردیف های با فلگ 2 ویرایش نماید

اگر می خواهین با دستور UpDate کار کنید باید شرط های دیگری هم داشه باشید .