PDA

View Full Version : مغایرت گیری بین دو جدول



ykm145
چهارشنبه 26 بهمن 1384, 21:56 عصر
بین دو جدول یکسان از لحاظ نا م ونوع فیلد (مثلا جدول {دفتر} وجدول {بانک} با دو فیلد{ مبلغ }و{شماره چک }) دستورات اس کیو ال مر بوط به مغایرت انها از لحاظ هر دو فیلد را چگونه باید نوشت
اساتید ودوستان محترم اگر لطف کنند جواب دهند خیلی ممنون میشم این یک از کاربردی ترین مسئله در زمینه حسابداری وکنترل دفتر بانک می باشد

AminSobati
چهارشنبه 26 بهمن 1384, 22:49 عصر
مغایرت بین ساختار دو جدول یا مقادیر داخل اونها؟

acp_co
چهارشنبه 26 بهمن 1384, 23:18 عصر
مغایرت بین ساختار دو جدول یا مقادیر داخل اونها؟
:متعجب: قاعدا" منظور دوستمون مقادیر داخل جداوله

ykm145
چهارشنبه 26 بهمن 1384, 23:34 عصر
استاد ارجمند جناب اقای ثباتی ممنون
مغایرت دراطلاعات انها مثلا 1-مبلغی که در جدول بانک هست در جدول دفتر نیست وبلعکس و 2- شماره چکی که در در جدول بانک هست ودر جدول دفتر نیست و بعکس
یعنی چهار ستون با عناوین بالا
جدول دفتر وبانک از هرجهت نوع -اسم فیلد - یکسانند فقط اسم انها فرق میکنه و در صورت مغایرت در اطلاعات
ضمنا مبالغ در حدود صد میلیارد می باشد
تعداد رکورد حداکثر 20000
شماره چک منحصر بفرد است ولی کلید اصلی نیست (تکراردرهرکدام از جدول دال بر مغایرت )

سید مسعود موحد
پنج شنبه 27 بهمن 1384, 12:08 عصر
من قبلا تو سیستم حسابداریم مغایرت گیری نوشته بودم اگر query انرا پیدا نمودم براتون میزارم شما اقلام باز حسابداری را میخواهید پیدا سازی کنید همان شماره چک که منحصر بفرد است باید در کوئریتون نقس اصلب را پیدا کند و با یک UNION باید اینکارو بکنید
فکر کنم روش کار این باشد که تمام حسابهای بدهکار در یک VIEW باشند و حسابهای بستانکار در یک View دیگر بعد فایلهایی را که در این دو VIEW مشترک نیستن را باید نمایش بدهی این میشود اقلام باز .

ykm145
پنج شنبه 27 بهمن 1384, 20:28 عصر
اقای موحد ممنون میشم اگه لطف کنی این کار برای من خیلی حیاتیه چون برنامه برای تطبیق وتائید یک سری اسناد مالی با ارقام بالا با صورتحساب ارائه شده از طرف بانک می باشه که به سال مالی هم ربط نداره یعنی اسناد سال فعلی ممکنه حتی چهار سال دیگه استعلام بشه
درضمن اطلاعات بانک فاکس پرو تحت داسه که تبدیل میشه به اکسس یا اسکیو ال

ykm145
دوشنبه 01 اسفند 1384, 20:08 عصر
دوستان لطفا راهنمائی کنید

mzjahromi
سه شنبه 02 اسفند 1384, 08:02 صبح
فکر کنم یه چیزی شبیه به این، کارت رو راه بیاندازه(حالا با یه کم تغییر)


Select * From Bank B
Where Not (CheckNum in Select CheckNum From Daftar D Where D.Price=B.Price)

ashena29
سه شنبه 02 اسفند 1384, 09:29 صبح
دوست گرامی این مشکلی که شما مطرح کردید من نیز چند روزی است که با آن دست به گریبانم و در پست
http://www.barnamenevis.org/forum/showthread.php?t=39001
مطرح کردم
با این نظر که مسئله بسیار کاربردی می باشد موافقم ولی متاسفانه هنوز پاسخ مناسبی دریافت نکرده ام
چنانچه پاسخی پیدا کردی من را نیز بی نصیب نگذار با تشکر

mzjahromi
سه شنبه 02 اسفند 1384, 09:32 صبح
دوست گرامی این مشکلی که شما مطرح کردید من نیز چند روزی است که با آن دست به گریبانم و در پست
http://www.barnamenevis.org/forum/sh...ad.php?t=39001
مطرح کردم
با این نظر که مسئله بسیار کاربردی می باشد موافقم ولی متاسفانه هنوز پاسخ مناسبی دریافت نکرده ام
چنانچه پاسخی پیدا کردی من را نیز بی نصیب نگذار با تشکر
دوست عزیز مورد شما فرق می کنه. این مورد توی جداول جداگانه است مورد شما توی یک جدول هست . این یعنی خیلی تفاوت

ykm145
چهارشنبه 10 اسفند 1384, 18:25 عصر
اقای ثباتی لطفا راهنمائی کنید
مبالغی که در جدول بانک هست در جدول دفتر نیست وبلعکس
شماره چکهائی که در جدول بانک هست در جدول دفتر نیست وبلعکس
شماره چکهای که در هردو هست ولی مبلغ متفاوت وبلعکس
جدول بانک تحت فاکس پرو را می خواهیم به اس کیو ال تبدیل کنیم ایا این امکان وجود دارد
با تشکر

سید مسعود موحد
پنج شنبه 11 اسفند 1384, 09:28 صبح
اقای موحد ممنون میشم اگه لطف کنی این کار برای من خیلی حیاتیه چون برنامه برای تطبیق وتائید یک سری اسناد مالی با ارقام بالا با صورتحساب ارائه شده از طرف بانک می باشه که به سال مالی هم ربط نداره یعنی اسناد سال فعلی ممکنه حتی چهار سال دیگه استعلام بشه
درضمن اطلاعات بانک فاکس پرو تحت داسه که تبدیل میشه به اکسس یا اسکیو ال

دوست عزیز
معذرت که دیر شد باید پیدا میکردم





ALTER PROC [dbo].[HSB_OPEN_AGHLAM]
@My_Kol1 Int,
@My_Kol2 Int,
@My_Moe1 Int,
@My_Moe2 Int,
@My_Taf1 Int,
@My_Taf2 Int,
@My_Date1 Int,
@My_Date2 Int,
@FieldSort Bit,
@TypeSort VarChar(4),
@My_Bed_Bes Int


AS

Declare @My_SQL NVARCHAR(2500)
Declare @My_WHERE NVARCHAR(2500)
Declare @My_Order NVARCHAR(2500)


Set @My_WHERE = 'AND (A.No_Check <> 0) '

If @My_Kol1 > 0
Set @My_WHERE = @My_WHERE + ' AND (A.Code_Kol BETWEEN ' +
Ltrim(RTrim(@My_Kol1)) + ' AND ' + Ltrim(RTrim(@My_Kol2)) + ')'
If @My_Moe1 > 0
Set @My_WHERE = @My_WHERE + ' AND (A.Code_Moe BETWEEN ' +
Ltrim(RTrim(@My_Moe1)) + ' AND ' + Ltrim(RTrim(@My_Moe2)) + ')'
If @My_Taf1 > 0
Set @My_WHERE = @My_WHERE + ' AND (A.Code_Taf BETWEEN ' +
Ltrim(RTrim(@My_Taf1)) + ' AND ' + Ltrim(RTrim(@My_Taf2)) + ')'
If @My_Date1 > 0
Set @My_WHERE = @My_WHERE + ' AND (A.Date_Check BETWEEN '+ Ltrim(RTrim(@My_Date1)) +
' AND ' + Ltrim(RTrim(@My_Date2)) + ')'
If @My_Bed_Bes = 0
Set @My_WHERE = @My_WHERE + ' AND (A.Bed_Sanad > 0)'
If @My_Bed_Bes = 1
Set @My_WHERE = @My_WHERE + ' AND (A.Bes_Sanad > 0)'

If @FieldSort = 0
Set @My_Order = ' ORDER BY A.No_Check ' + @TypeSort
If @FieldSort = 1
Set @My_Order = ' ORDER BY A.Date_Check ' + @TypeSort

Set @My_Sql=
'SELECT A.No_Sanad, A.Code_Kol, B.Name AS Name_Kol, ' +
'A.Code_Moe, C.Name AS Name_Moe, A.Code_Taf, ' +
'D.Name AS Name_Taf, A.Bed_Sanad, A.Bes_Sanad, ' +
'A.No_Check, A.Date_Check, A.Shar_Sanad ' +
'FROM Hsb_De_Sanad A INNER JOIN ' +
'KIC_Kol B ON A.Code_Kol = B.Cod AND A.Sal = B.Sal INNER JOIN ' +
'KIC_Moe C ON A.Code_Moe = C.Cod AND A.Code_Kol = C.Cod_Kol AND ' +
'A.Sal = C.Sal AND B.Cod = C.Cod_Kol AND B.Sal = C.Sal INNER JOIN ' +
'KIC_Taf D ON A.Code_Taf = D.Cod AND A.Sal = D.Sal ' +
'WHERE (Id Not In ( ' +
'SELECT A.Id ' +
'FROM dbo.HSB_Bed_Check(DEFAULT) A INNER JOIN ' +
'dbo.HSB_Bes_Check(DEFAULT) B ON A.Code_Kol = B.Code_Kol AND ' +
'A.Code_Moe = B.Code_Moe AND A.Code_Taf = B.Code_Taf AND ' +
'A.Gym = B.Gym AND A.No_Check = B.No_Check ' +
'UNION ' +
'SELECT B.Id ' +
'FROM dbo.HSB_Bed_Check(DEFAULT) A INNER JOIN ' +
'dbo.HSB_Bes_Check(DEFAULT) B ON A.Code_Kol = B.Code_Kol AND ' +
'A.Code_Moe = B.Code_Moe AND A.Code_Taf = B.Code_Taf AND ' +
'A.Gym = B.Gym AND A.No_Check = B.No_Check)) ' + LTrim(RTrim(@My_WHERE)) + LTrim(RTrim(@My_Order))

Exec Sp_executesql @My_Sql
-- PRINT @My_Sql
-- HSB_OPEN_AGHLAM 0,0,0,0,0,0,0,0,0,'ASC',2

ykm145
پنج شنبه 11 اسفند 1384, 23:23 عصر
خدا این شب جمعه ای جمیع رفتگانتو بیامرز
امتحانش میکنم اگه مشکلی پیش امد دوباره زحمت میدم خدمتتون