PDA

View Full Version : مشکل در نوشتن یک select خاص



karimi.ali2005
دوشنبه 16 اسفند 1389, 11:36 صبح
من داخل برنامه ام 3 جدول را با هم join می کنم



SELECT dbo.chek.id, dbo.chek.iddastecheck, dbo.chek.idhesab, dbo.chek.sh_serial, dbo.chek.data_sodor, dbo.chek.pas, dbo.passchek.names, dbo.chek.ect,
dbo.Recive.codebes_riz, dbo.Recive.type, dbo.Recive.cost, dbo.Recive.namebed_riz, dbo.Recive.codebes_type_g, dbo.Recive.day
FROM dbo.chek INNER JOIN
dbo.passchek ON dbo.chek.pas = dbo.passchek.id LEFT OUTER JOIN
dbo.Recive ON dbo.chek.id = dbo.Recive.codebes_riz

اما مشکل اینجا است که من میخوام فیلد dbo.chek.id فقط یک بار تکرار شود البته جاهایی که فیلد dbo.chek.id دو یا چند بار تکرار شده طبق شرایطی باید یکی از رکوردهای فیلد dbo.chek.id باقی بماند اگر فیلد dbo.Recive.codebes_type_g برابر با 3 باشد آن رکورد باید بماند اگر بین رکوردهای تکراری رکوردی فیلد dbo.Recive.codebes_type_g برابر 3 نبود فرقی نمیکند کدام رکورد باشد
جدولها در ضمیمه هست
67191

67192

karimi.ali2005
دوشنبه 16 اسفند 1389, 13:53 عصر
ااین هم یادم رفت backup پایگاه
67196

AminSobati
سه شنبه 24 اسفند 1389, 19:16 عصر
سلام دوست عزیزم،
وقتی که جدول chek با سایر جداول Join بشه، ازش تکرار بدست میاد. شاید اگر این Query رو با Exists بازنویسی کنید نتیجه بهتری بدست بیاد. یا اینکه از Distinct کمک بگیرین

karimi.ali2005
چهارشنبه 25 اسفند 1389, 09:38 صبح
بله ممنون از دستور IS استفاده کردم که معادل همین Exists است