واضح آرشیو وب فارسی:سایت ریسک: سانسور کردن رکوردهای تکراری zorig4fun 11 اسفند 1385, 05:31سلام من يک فرم دارم و دوستان ميان مطلب مينويسند. حالا من در صفحه اصلی خود يک بخشی درست کردم که اخرين جوابهای پست را در ان نشان ميدهد. مشکل من اين است که اگر دو نفر به يک توپيک جواب داده باشند ان يک تپيک دو بار نمايش داده ميشود. ميخواستم که دوستان راهنمائی کنند چکار کنم که اگر به يک توپيک به دفعات جواب داده ميشود اسم توپيک يک بار نمايش داده شود. با تشکر Hamid 69311 11 اسفند 1385, 05:42از sql server استفاده میکنی؟ m_ziba 11 اسفند 1385, 17:06سلام query که داری میدی به DataBase ایراد داره. query رو دقیق بنویس تا راهنماییت کنیم. zorig4fun 11 اسفند 1385, 19:48فکر کنم توضيحاتی که دادم کامل نبوده من از اکسس استفاده ميکنم. در ديتابيس من تيبل tblTopic / Subject قرار دارد و در tblThread / Message قرار گرفته و بقيه اطلاعات. حالا من امدم رکردهای اين دو تيبل را درخواست کردم و گفتم که بر اساس تاريخ برام بچينه بعد توسط loop اولين ۱۰ رکرد را چاپ ميکنم. حالا مشکل اين است که اگر دو کاربر به يک توپيک جواب بدهند در tblThread دو رکرد پشت سر هم ايجاد ميشود و در موقع چاپ کردن اين دو رکرد چاپ ميشوند. فکر کنم يک کد لازم دارم که در loop استفاده کنم که رکوردها را با هم مقايسه کند اگر رکردی Topic_ID ان با رکرد های قبلی يکی باشد از چاپ کردن ان صرف نظر کند و به ريکرد بعدی برود. با تشکر mazoolagh 11 اسفند 1385, 22:46متدوالترین راه برای حذف رکوردهای تکراری select distinct هست zorig4fun 12 اسفند 1385, 19:41مرسی از راهنمائی حالا فکر نميکند که با استفاده از اين روش اگر کاربر در دو تپيک مطلب بنويسد دومين تپيک نمايش داده نمی شود؟ mazoolagh 12 اسفند 1385, 21:16شما میتونین اول با select distinct فقط topicidها رو انتخاب کنین و بعد رکوردهایی رو نشون بدین که topicidهاشون در اون لیست هست (با in) البته راههای دیگه هم داره.اگر ساختار جدول یا خود جدول رو با دیتای نمونه بگذارین بهتر هست. zorig4fun 13 اسفند 1385, 13:50خوب من تا حالا از select distinct استفاده نکردم فقط شما که گفتيد من گشتم مطالبی را پيدا کردم که کامل نبود. لطفا بگيد ايا ميشه فقط يک field از جدول را از اين روش استفاده کرد؟ اگر ميشه اطفا مثالی بزنيد.چون من حرفه ای نيستم. با تشکر mazoolagh 14 اسفند 1385, 13:55distinct روی مجموعه فیلدهایی که select شدن عمل میکنه. اگر * بگذارین کلا رکوردهای تکراری رو نمیاره چون * بمعنای همه فیلدهاست. اگر یک یا چند فیلد باشن فقط روی همون یک یا چند فیلد عمل میکنه. برای مثال شما دیتابیس northwind رو که باحتمال زیاد روی کامپیوترتون هست باز کنین و در جدول orders روی فیلدهایی مثل customerid یا productid با و بدون distinct امتحان و به نتایج دقت کنین. select customerid from orders order by customerid select distinct customerid from orders order by customerid
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 2920]