PDA

View Full Version : پیدا کردن رکورد نا متناظر در جدول A نسبت به B



didaaa
چهارشنبه 08 اردیبهشت 1389, 07:34 صبح
بچه ها شمارو بخدا ابروم پیش مدیرم گیره کمکم کنید کلی جستجو کردم ولی به نتیجه ای نرسیدم! ببینید من دوتا جدول دارم میخوام رکوردهایی که در جدول A هستش و کد ملی مثلا 87675768687 یه هم چین چیزیه ببینم تو جدول دوم یعنی B هستشو پیدا کنم ولی نمیدونم از چه دستوری ااستفاده کنم راستش sql یه دستوری (EXCEPT)داره که یه همچین کاری انجام میده ولی ایرادش اینجاست که باید تعداد فیلد ها و نوع شون یکی باشه ولی جداول من فقط دوتا از فیلداش شبیح هم هستند یکی کد ملی و یکی دیگه که varchar هستش حالا موندم چیکار کنم
بچه ها کمکم کنید کلی دعاتون میکنم.

bpzone
چهارشنبه 08 اردیبهشت 1389, 07:54 صبح
SELECT T1.* FROM T1,T2 WHERE T1._Index = T2.MeliCode

didaaa
چهارشنبه 08 اردیبهشت 1389, 08:21 صبح
جواب نداد چون همه رکوردهای که معادل کد ملیش داخل جدول دیگستو واسم اورد من میخوام اون رکوردهایی
از جدول A رو بیارم که معادلشون در جدول B نیست . مثلا کد که در جدول A هستش ولی در جدول B نیست
اینم بگه که مبخوام کل رکورد رو بیارم

bpzone
چهارشنبه 08 اردیبهشت 1389, 08:40 صبح
SELECT T1.* FROM T1,T2 WHERE T1._Index <> T2.MeliCode


سلام
این کد تمام اطلاعات جدول T1 رو برات میاره، بشرطی که کد ملی موجود در جدول T1 در جدول T2 نباشه ...

اَرژنگ
چهارشنبه 08 اردیبهشت 1389, 08:44 صبح
جواب نداد چون همه رکوردهای که معادل کد ملیش داخل جدول دیگستو واسم اورد من میخوام اون رکوردهایی
از جدول A رو بیارم که معادلشون در جدول B نیست . مثلا کد که در جدول A هستش ولی در جدول B نیست
اینم بگه که مبخوام کل رکورد رو بیارم

۱.اول با Sql Except تمام آیدهایی که تو جدول ا هستند ولی نه تو جدول ب را بدست بیار.
۲.از جدول ب تمام رکوردهایی را که آیدیشان را در پله قبل بدست آوردید سلکت کن.



SELECT ProductID
FROM Production.Product
EXCEPT
SELECT ProductID
FROM Production.WorkOrder ;

ozzy_mra
چهارشنبه 08 اردیبهشت 1389, 08:49 صبح
SELECT * FROM Table1 WHERE meliicode NOT IN (SElECT mellicode From Table2)
یا

SELECT mellicode FROM Table1
EXCEPT
SELECT Mellicode FROM Table2
از help اسکیو ال می تونی استفاده کنی برای هر کدوم مثال داره

csharpprogramer88
چهارشنبه 08 اردیبهشت 1389, 08:57 صبح
دوست من اينطوري كه شما گفتيد يعني ركوردهايي كه در جدول a هست را در جدول b بگرد اگر در جدول b وجود نداشت اون ركوردها را از جدول b نشان بده منظور شما همينه شايد نياز باشه از دستور not exists استفاده كني به معني وجود نداشتن كه من كار كردن با اونو بلد نيستم
اين كد شايد بتونه كارت را راه بياندازه


select * from moshakhasathamsaran where id in (select id from basij where ozv like(N'%" + this.cmbozviat.Text.Trim() + "%') and nahie like(N'%" + this.cmbnahie.Text.Trim() + "%')and hoze like(N'%" + this.txthoze.Text.Trim() + "%')and paygah like(N'%" + this.txtpaygah.Text.Trim() + "%'))";

didaaa
چهارشنبه 08 اردیبهشت 1389, 09:11 صبح
دوست من اينطوري كه شما گفتيد يعني ركوردهايي كه در جدول a هست را در جدول b بگرد اگر در جدول b وجود نداشت اون ركوردها را از جدول b نشان بده منظور شما همينه شايد نياز باشه از دستور not exists استفاده كني به معني وجود نداشتن كه من كار كردن با اونو بلد نيستم
اين كد شايد بتونه كارت را راه بياندازه


select * from moshakhasathamsaran where id in (select id from basij where ozv like(N'%" + this.cmbozviat.Text.Trim() + "%') and nahie like(N'%" + this.cmbnahie.Text.Trim() + "%')and hoze like(N'%" + this.txthoze.Text.Trim() + "%')and paygah like(N'%" + this.txtpaygah.Text.Trim() + "%'))";

بله درست متوجه شدید اگه میشه یه نگاه هم به این لینک بندازید تا درد منو بفهمید
http://barnamenevis.org/forum/showthread.php?p=964582#post964582

didaaa
چهارشنبه 08 اردیبهشت 1389, 09:15 صبح
بچه ها از همتون ممنونم با اینه مشکلم هنوز حل نشده ولی از اینکه میبینم وقت میزارین و به مشکلات دیگران اهمیت میدین باعث میشه که از این سایت و بروبچش بیشتر خوشم بیاد :قلب:

exlord
چهارشنبه 08 اردیبهشت 1389, 10:01 صبح
SELECT * from tbl1 where ID not in (select ID from table2);