PDA

View Full Version : سوال: فیلد یکتا؟؟؟



dbdbdb
جمعه 14 آبان 1389, 11:40 صبح
سلام.
من یه جدول دارم که دارای فیلد,... id , name میباشد فیلد id من ممکن است شامل چندین رکورد با id =100 , .... میباشد من میخام
DISTICT ID رو بزنم و فقط رو id اعمال بشه و همراه اونی که اعمال شد فیلد های دیگر هم با هاش بیاد خروجی.خلاصه میخوام از هر رکورد با id=100 و یا .... فقط یک نماینده بیاد ولی یک رکورد کامل بیاره نه فقط فیلد id

ایمان مدائنی
جمعه 14 آبان 1389, 13:29 عصر
متوني دو تا كوئري اجرا كني
كه اولي آب دي رو با Distinct داره و دومي ركوردهاي آيدي رو برات بياره

pezhvakco
جمعه 14 آبان 1389, 18:21 عصر
درست نفمیدم چی نوشتی، اما اگر می خوای یک ردیف از چند ردیف جدول که ستون ID اون ها برابر 100 است رو نمایش بدی می تونی از کد دستور زیر استفاده کنی :

SELECT TOP 1 * FROM Table1 WHERE (ID = 100)
فیلد id من ممکن است شامل چندین رکورد با id =100 , .... میباشدفکر کنم باید بگی چند ردیف در جدول است که ستون ID اون ها برابر 100 است .


خلاصه میخوام از هر رکورد با id=100 و یا .... فقط یک نماینده بیاد ولی یک رکورد کامل بیاره نه فقط فیلد id اگه بگی فقط یک ردیف از چند ردیف جدول که ستون ID اون برابر 100 است رو می خوام، بهتر است .

در آخر " اگه ستون ID است یعنی ستون شناسه است و اینکه چند ردیف با شناسه یکسان زیاد درست نیست "

Reza_Yarahmadi
جمعه 14 آبان 1389, 19:06 عصر
يكي از روشهايي كه ميتونيد اين كار رو انجام بديد :
Select
*,
IDENTITY(int, 1, 1) as Id2
Into #Temp
From
TableName

;With Dis as(
Select
Min(Id2) as Id2
From
#Temp
Group By
Id
)
Select
t.*
From
TableName t inner join Dis d
on
t.Id2 = d.Id2

Drop Table #Temp

حمیدرضاصادقیان
شنبه 15 آبان 1389, 07:10 صبح
سلام.تاپیک شما حذف نمیشه به خاطر اینکه دوستان عزیز زحمت کشیدن جواب دادن ولی قفل میشه. در همین صفحه اول بخش SQL Server همین سوال دو سه مرتبه پرسیده شده است. دفعه بعد تاپیک های تکراری حذف خواهند شد.
موفق باشید.