PDA

View Full Version : نمایش همه فیلد های یک view در صورت استفاده از دستور distinct



javad_r_85
چهارشنبه 02 اسفند 1391, 19:00 عصر
باسلام
من یک ویو از چند جدول دارم که شامل آیدی آنها نیز می شود حالا می خواد distinct بر روی یک ستون انجام بدم اما کلیه فیلدها را نیز تکرار کند . تمامی کدهای موجود در این سایت و بعضی سایتهای خارجی را نیز تست کردم چون ایدی جدول های مختلف وجود دارد این عمل به خوبی انجام نمی شود از اساتید کسی هست که بتونه در این زمینه راهنمایی کند؟

Mahmoud.Afrad
چهارشنبه 02 اسفند 1391, 22:55 عصر
راه اول:

select View_1.id , View_1.name , View_1.rankname
from View_1
where View_1.id in
(
select min(View_1.id)
from View_1
group by View_1.rankname
)


راه دوم:

select dt.id , dt.name , dt.rankname
from
(select
* ,
ROW_NUMBER() over (partition by view_1.rankname order by view_1.rankname) as rownumber
from View_1
) as dt
where dt.rownumber = 1

توی این مثال distinct روی rankname انجام شده.

mohsen.net
پنج شنبه 03 اسفند 1391, 02:11 صبح
خوب فقط را همان ستون distinct کن مشکل چیه؟

Select Distinct fld1 FROM mytable

نمونه جدول بگذار و بگو چه خروجی می خوای

javad_r_85
پنج شنبه 03 اسفند 1391, 08:24 صبح
راه اول:

select View_1.id , View_1.name , View_1.rankname
from View_1
where View_1.id in
(
select min(View_1.id)
from View_1
group by View_1.rankname
)




با تشکر
کد بالا جواب داد فقط می خواستم اگه بشه دربارش یه مقداری توضیح بدین؟

Mahmoud.Afrad
پنج شنبه 03 اسفند 1391, 10:25 صبح
ابتدا برحسب فیلد مورد نظر گروه بندی کرده و از هر گروه یک id را انتخاب میکنیم(سلکت داخلی. min اولین عنصر هر گروه رو میده. id منظور کلید هست.)
بعد توسط سلکت خارجی اطلاعات کامل سطرهایی که id شون بدست آمده رو سلکت میکینم.

mohsen.net
پنج شنبه 03 اسفند 1391, 19:22 عصر
این فقط یک ID میده در حالی که id های زیادی برای اون مقدار ممکنه وجود داشته باشه
مثلا برای مقدار A می تونه ID های 1 و 2 و 3 وجود داشته باشه اما فقط مقدار 1 بر می گرده

محمد سلیم آبادی
سه شنبه 08 اسفند 1391, 15:50 عصر
در تاپیک زیر چند راه حل مورد بررسی قرار گرفته اند.
http://barnamenevis.org/showthread.php?375084-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1%DB%8C-%DA%A9%D9%87-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF%D9%87%D8%A7%DB%8C%D B%8C-%DA%A9%D9%87-%D9%81%DB%8C%D9%84%D8%AF-last_modified-%D8%A2%D9%86%D9%87%D8%A7-%DA%A9%D9%87-%DA%A9%D9%88%DA%86%DA%A9%D8%AA%D8%B1-%D8%A7%D8%B3%D8%AA-%D9%BE%D8%A7%DA%A9-%D8%B4%D9%88%D8%AF%D8%9F&p=1659064&highlight=%D9%85%D8%B1%D8%A7%D9%82%D8%A8#post16590 64

marjan_gh
سه شنبه 17 دی 1392, 13:47 عصر
منم یه مشکل اینجوری دارم
یه view دارم شامل پستهام و تگهاشون و عکسهاشون و کامنتهاشون
حالا وتی بهش می گم id=1 رو نمایش بده 8 بار تکرارش می کنه
دلیلشم اینه که این پست 2 تا کامنت داره و 4 تا تگ!
توی اینترفیس چه جوری باید جلوی این تکرار رکورد گرفته بشه؟
باید یخیال view بشم؟