50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

شماره گذاری مجدد

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

من یه جدولی به نام Receiptform که دارای سه ستون به نام های stockid , receiptid , date (تاریخ و شماره رسید و کد انبار) میباشد حال من میخواهم شماره رسیدهایم طبق هر انبار بر حسب تاریخ مرتب کرده (صعودی) و شماره رسید هایم را دوباره از شماره 1 شماره گذاری نمایم.
اگه میشه دستور این عملیات رو بهم بگین

پرسیده شده در 1399/10/07 توسط

5 پاسخ

2

خب دستور row_number رو به صورت زیر بنویسید

row_number() over ( partition by stockid order by date) as R
پاسخ در 1399/10/07 توسط
0

دست شما درد نکنه ولی تو این دستور رسیدهای تمام انبار ها شماره گذاری شدند که بدون در نظر گرفتن انبار بود ولی من میخوام رسید های هر انبار از شماره 1 آغاز بشن یعنی رسیدهای انبار شماره 2 از 1 آغاز بشه تا شماره 4 و انبار شماره 7 از 1 آغاز بشه تا ...

پاسخ در 1399/10/07 توسط
0

نه شماره رسید ها کلید خارجی نیستند

پاسخ در 1399/10/07 توسط
2

در این صورت می تونید از کد زیر استفاده کنید.

update Receiptform
set Receiptform.receiptid=tt.R
from 
(select stockid , receiptid , date ,row_number() over(order by date) as R
from Receiptform) as tt
where tt.stockid=Receiptform.stockid and tt.date=Receiptform.date
پاسخ در 1399/10/07 توسط
1

سلام به شما دوست عزیز.

اگر شماره رسید ها به عنوان کلید خارجی قرار داده شده باشند آنها را نمی توان تغییر داد مگر این که از جدول اصلی آنها را تغییر بدهی.

پاسخ در 1399/10/07 توسط

پاسخ شما