PDA

View Full Version : حرفه ای: انتخاب دو سری رکورد خاص با یک دستور



1bsavad
یک شنبه 02 اسفند 1388, 22:06 عصر
سلام
شاید عنوان تاپیکم مبهم باشد

یک سوال ساده SQL داشتم

یک جدول داشتم شامل تعدادی رکورد و سه فیلد id,name,time

آیا میتوان فقط با یک select
نتیجه دو select زیر را بدست آورد؟

select * from `myTable` order by `time` limit 3
select * from `myTable` order by `name` limit 7

amin_alexi
دوشنبه 03 اسفند 1388, 09:07 صبح
سلام
اره ميشه !
مي توني از Union all استفاده كني !
اما مشكل اينه كه نمي توني به صورت زير بنويسي

select * from myTable order by time
Union All
select * from myTable order by name

چون در استفاده از Union نمي توني در Select اول Order by بزني !
order By روي كل خروجي تاثير ميزاره !
ولي ميشه قبلش Query رو در داخل يك TempTable ريخت و از اون استفاده كرد !



select * into #tblTemp1 from myTable order by time
GO
select * into #tblTemp2 from myTable order by name
GO
select * from #tblTemp1
Union All
select * from #tblTemp2

فقط بايد توجه كني كه تعداد ستونها در هر دو دستور Select يكي باشه

1bsavad
دوشنبه 03 اسفند 1388, 19:02 عصر
مشکر
حواسم به union نبود اصلا :)