PDA

View Full Version : راهنمای در ایجاد یک کوئری



davoud_sadeghi
یک شنبه 29 شهریور 1394, 04:47 صبح
با سلام خدمت دوستان گرامی

بنده دنبال ایجاد یک کوئری هستم که اگر جدولی شبیه جدول زیر داشته باشیم:


کد نام سهم
1 علی 4
2 رضا 3
3 محمد 2



خروجی شبیه به این جدول بهم بده

کد نام
1 علی
1 علی
1 علی
1 علی
2 رضا
2 رضا
2 رضا
3 محمد
3 محمد

یعنی هر عضو به تعداد سهمی که داره نام اون در جدولی دیگه یا جدول مجازی تکرار بشه.

تشکر از راهنمایتون

davoud_sadeghi
یک شنبه 29 شهریور 1394, 13:29 عصر
کسی نبود جواب بده

Mr.Brown
یک شنبه 29 شهریور 1394, 18:03 عصر
select * from table as t inner join (select 1 union select 2 union select 3 union select 4) as number (nbr) on t.sahm<=number.nbr

Seyyed_H_T
دوشنبه 30 شهریور 1394, 08:37 صبح
شما نیاز دارید از یک CTE استفاده نمائید، مشابه این دستور:



;WITH maxVal AS (
SELECT max(sahm) as ms
FROM yourTable
), CTE(i) AS (
SELECT 1
UNION ALL
SELECT i + 1
FROM CTE
WHERE i < (SELECT ms FROM maxVal)
)
SELECT Code,Name
FROM CTE CROSS JOIN yourTable
WHERE CTE.i <= yourTable.sahm
ORDER BY Code;