PDA

View Full Version : سوال: فراخوانی کوئری در کوئری دیگر



f_naderi
سه شنبه 01 تیر 1395, 22:58 عصر
سلام
من می خوام دو تا select بنویسم که select اولی رو داخل select دوم به کار ببرم.
select distinct score as s1 from student order by desc score
این query اول (q1)

select id,score,(select count(*) from q1 ,student where score<s1) as rank from student
این هم query دومی
چیکار کنم که اول q1 اجرا بشه بعد query دوم اجرا بشه.

systam
سه شنبه 01 تیر 1395, 23:48 عصر
فکر کنم این صفحه کارت رو راه میندازه
http://www.developer1.ir/SQL/Inter_Select.aspx

f_naderi
چهارشنبه 02 تیر 1395, 01:13 صبح
SELECT id ,nomre,(select count(*) from table1 where nomre < (select distinct nomre from table1 order by nomre desc)) as rank
FROM Table1;
کوئری رو اینجوری نوشتم حالا موقع اجرا این ایراد رو میگیره :
at most one record can be returned by this subquery.
همه مشکل اینه که می خوام تک تک نمرات رو با یک مجموعه نمره مقایسه کنم(>)

f_naderi
چهارشنبه 02 تیر 1395, 01:52 صبح
دو تا کوئری نوشتم :

SELECT distinct nomre as nFROM Table1 order by nomre desc;



بالایی رو به اسم Query2 ذخیره کردم.
کوئری دوم:

SELECT ID ,nomre,(select count(t.*) from Table1 as t,Query2 where t.nomre <= Query2.nomre ) as rank
FROM Table1;
حالا میگه (syntax error in query (select count(t.*) from Table1 as t,Query2 where t.nomre <= Query2.nomre