PDA

View Full Version : بدست آوردن آخرین شماره



Iran58
سه شنبه 26 خرداد 1394, 13:03 عصر
سلام
سه کالا داریم که
کالاa دارای شماره 9410100
کالاb دارای شماره 9420100
کالاc دارای شماره 9430100
که دورقم اول آن سال است
رقم سو و چهارم براساس نوع کالا است وسه رقم آخر آن از صد شروع می شود
حال اطلاعات این سه نوع کالا در یک جدول ثبت می شود
می خواهم یک sp بنویسم که با توجه به نوع کالا اگر در جدول از این نوع کالا داده ای ثبت نشده بود اولین شماره را برگرداند وگرنه بگردد و بیشتر ین شماره بعلاو یک را برای ما برگرداند
این sp را چگونه می توانم بنویسم
باتشکر

pezhvakco
سه شنبه 26 خرداد 1394, 16:45 عصر
*** اگه از این بگذریم که ساختار جدول اشتباه طراحی شده ***
شاید

Declare @Code_4_Search Varchar(15);
Declare @BasicCode Varchar(15);

Set @Code_4_Search = '9430';
Set @BasicCode = '943099'

SELECT ISNULL(MAX(CAST(Col01 as int)), @BasicCode) +1 AS Expr
FROM [dbo].[Table01]
where Col01 like (@Code_4_Search + '%')

Iran58
سه شنبه 26 خرداد 1394, 17:37 عصر
*** اگه از این بگذریم که ساختار جدول اشتباه طراحی شده ***
شاید

Declare @Code_4_Search Varchar(15);
Declare @BasicCode Varchar(15);

Set @Code_4_Search = '9430';
Set @BasicCode = '943099'

SELECT ISNULL(MAX(CAST(Col01 as int)), @BasicCode) +1 AS Expr
FROM [dbo].[Table01]
where Col01 like (@Code_4_Search + '%')



باسلام
لطفا در مورد اشتباه بودن ساختار جدول میشه توضییح بدهید
باسپاس

SabaSabouhi
چهارشنبه 27 خرداد 1394, 08:29 صبح
باسلام
لطفا در مورد اشتباه بودن ساختار جدول میشه توضییح بدهید
سپاس

سلام
همونطور که دوستمون pezhvakco که همیشه مطالب خوبی رو ازشون مشاهده می‌کنیم نوشتن، ساختار دیتابیس شما اشکال داره.
به‌تره شما برای هر چیزی که ارزش داره و قراره برای جستجو، مرتب‌کردن و یا هر کار دیگه‌ای ازش استفاده بشه، یک ستون تعریف کنی.
نه این که یک ستون کد بگذاری و فرمول تعیین کنی که دو رقم یعنی سال و . . .
اگه دوست داری کدی وجود داشته باشه که این فرمول رو داشته باشه، اشکالی نداره، اما این کد نباید اساس جستجو واقع بشه
شما باید یک ستون برای سال، یک ستون برای نوع و یک ستون هم برای سریال کالا داشته باشی، و از ترکیب این ستون‌ها ستون کد رو
بسازی. طبعاً اگه بخواهی جستجو کنی که یک کالا آخرین سریال چی هست دچار مشکل نمی‌شی و به راحتی این کار رو انجام می‌دی.

تا قبل از این که تو طراحی دیتابیس خبره بشی، به‌تره ( حداقل تو کارهای جدی و حرفه‌ای ) از یه طراح حرفه‌ای استفاده کنی تا در
اجرای پروژه‌ها به مشکل نخوری.

صبا صبوحی