ورود

View Full Version : نمایش رکوردهایی از یک جدول که فیلد 1 مساوی فیلد 2 همان جدول باشد



khoshblagh
سه شنبه 23 مرداد 1397, 11:13 صبح
با سلام خدمت دوستان
میخواهم از کد زیر برای نمایش رکوردهایی که فیلد 1 آن مساوی فیلد 2 باشد را نمایش دهم.ولی عملا اطلاعات نادرست را نشان میدهد. به نظر شما مشکل این کد چیست؟ متشکرم

SQL.Text:='SELECT T1.* FROM '+strTableBank+' AS T1'+
' WHERE T1.Tik=False AND EXISTS (SELECT T2.* FROM '+
strTableBank+' AS T2 WHERE T2.Bardasht=T1.Variz)'+
' ORDER BY Tarikh';

hp1361
چهارشنبه 31 مرداد 1397, 22:07 عصر
با سلام خدمت دوستان
میخواهم از کد زیر برای نمایش رکوردهایی که فیلد 1 آن مساوی فیلد 2 باشد را نمایش دهم.ولی عملا اطلاعات نادرست را نشان میدهد. به نظر شما مشکل این کد چیست؟ متشکرم

SQL.Text:='SELECT T1.* FROM '+strTableBank+' AS T1'+
' WHERE T1.Tik=False AND EXISTS (SELECT T2.* FROM '+
strTableBank+' AS T2 WHERE T2.Bardasht=T1.Variz)'+
' ORDER BY Tarikh';



سلام

احتیاجی به SubQuery نیست.
به این شکل کوئری بزنید


SELECT *
FROM strTableBank AS T1
WHERE T1.Bardasht=T1.Variz AND T1.Tik=FALSE
ORDER BY T1.Tarikh

khoshblagh
چهارشنبه 31 مرداد 1397, 23:46 عصر
با تشکر از پاسختان
به این روش جواب نمی دهد.علت اینه که ارقام برداشت و واریزدر یک رکورد نمی باشند .
من مجبور شدم از سمت کلاینت این مسئله را با 2 کوئری حل نمایم.