PDA

View Full Version : در مورد Select



iman_s52
پنج شنبه 06 بهمن 1384, 06:45 صبح
چطور میشه یه ستون به اسم ردیف ایجاد کرد که بتونه ردیف رکورها رو نشون بده؟

mzjahromi
پنج شنبه 06 بهمن 1384, 07:52 صبح
http://www.barnamenevis.org/forum/showthread.php?t=35834&highlight=%D1%CF%ED%DD
http://www.barnamenevis.org/forum/showthread.php?t=35951&highlight=%D1%CF%ED%DD
http://www.barnamenevis.org/forum/showthread.php?t=33157&highlight=%D1%CF%ED%DD
http://www.barnamenevis.org/forum/showthread.php?t=29839&highlight=%D1%CF%ED%DD
http://www.barnamenevis.org/forum/showthread.php?t=17242
http://www.barnamenevis.org/forum/showthread.php?t=21962
اگر جستجو کنید مطالب بیشتری هم پیدا می کنید. در این زمینه خیلی بحث شده است

Elham_gh
چهارشنبه 12 بهمن 1384, 13:33 عصر
جناب آقای mzjahromi با تشکر از اینکه زحمت کشیدین و لینکها رو پیدا کردین اما هیچ کدام از لینکها مربوط نبود(یا مربوط به دلفی می شد یا ویژال بیسیک) و یا معتبر نبود(احتمالا آدرسها تغییر کرده اند). اما این تاپیک در SQL Server مطرح شده.

آقای ایمان , ممکن است راه حلهای مختلفی باشد. یکی از اون راه حلها با مثال به صورت زیر است:



CREATE TABLE #RowNumber ( RowNumber int IDENTITY (1, 1), emp_id char(9) )


INSERT #RowNumber (emp_id)
SELECT emp_id
FROM employee
WHERE job_id = 10
ORDER BY lname


SELECT RowNumber, e.emp_id, lname, fname, job_id
FROM #RowNumber r JOIN employee e
ON r.emp_id = e.emp_id
ORDER BY RowNumber



اگر با راه حل دیگه ای برخورد کنم پست می کنم.(چون از جدول کمکی استفاده می کنه , خودم دوسش ندارم!)

Elham_gh
چهارشنبه 12 بهمن 1384, 13:39 عصر
اها ! این بهتره !!


SELECT emp_id, lname, fname, job_id,
(SELECT COUNT(*) FROM employee e2 WHERE e2.lname <= e.lname AND e2.job_id = 10) AS rownumber
FROM employee e
WHERE job_id = 10
ORDER BY lname

سید مسعود موحد
چهارشنبه 12 بهمن 1384, 14:02 عصر
دوستان مژده SQL2005 این مشکل را حل نموده است با تابع ()Row_Number

Elham_gh
چهارشنبه 12 بهمن 1384, 14:11 عصر
Great!
مرسی آقای موحد از خبرتون.

mzjahromi
چهارشنبه 12 بهمن 1384, 16:13 عصر
جناب آقای mzjahromi با تشکر از اینکه زحمت کشیدین و لینکها رو پیدا کردین اما هیچ کدام از لینکها مربوط نبود(یا مربوط به دلفی می شد یا ویژال بیسیک) و یا معتبر نبود(احتمالا آدرسها تغییر کرده اند). اما این تاپیک در SQL Server مطرح شده.

آقای ایمان , ممکن است راه حلهای مختلفی باشد. یکی از اون راه حلها با مثال به صورت زیر است
ولی من خودم یه جائی تو همین سایت دیدم که یکی از دوستان یک StoredProcedure نوشته بودن که این کار رو انجام میداد. ولی دقیق یادم نیست تو کدوم تاپیک بود. باید جستجو کنید

iman_s52
جمعه 14 بهمن 1384, 06:46 صبح
ممنون از همه دوستان

iman_s52
جمعه 14 بهمن 1384, 06:48 صبح
ممنون از همه دوستان

iman_s52
جمعه 14 بهمن 1384, 06:52 صبح
حالا سوالمو به این شکل مطرح می کنم:
من یه Select دازم که یه سری ردیف های خاص از Database میکشه بیرون حالا می خوام در کنار هر ردیف ستون شماره ردیف که از یک شروع میشه هم باشه.

iman_s52
جمعه 14 بهمن 1384, 06:53 صبح
ممنون میشم اگه بازم کمکم کنید

iman_s52
جمعه 14 بهمن 1384, 06:54 صبح
البته من همیش این کار و با دلفی می کردم ولی حالا نیاز که با SQL این کار و انجام بدم

Elham_gh
جمعه 14 بهمن 1384, 11:27 صبح
فرقی نمی کنه. اون Select ی در چند تا پیغام قبل گذاشتم جوابتونو می ده. مگر اینکه منظور شما رو درست متوجه نشده باشم