إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

UNION with ORDER BY


9 رد (ردود) على هذا الموضوع

#1 aza

aza

    عضو نشط

  • الأعضــاء
  • 303 مشاركة

تاريخ المشاركة 22 March 2006 - 09:18 AM

السلام عليكم
أود أن أكتب جملتين للاستعلام يربط بينهم UNION مع الترتيب ORDER BY
لكنه يظهر أن هناك خطأ
مثال :
(هذا المثال غير منطقي ولكنه للتجربة فقط)

select * from tab
union
select * from tab
order by tname
/

ERROR at line 4:
ORA-00904: "TNAME": invalid identifier

شكرا جزيلا لكم

#2 Debug_b!bo

Debug_b!bo

    عضو نشط

  • الأعضــاء
  • 482 مشاركة

تاريخ المشاركة 22 March 2006 - 12:19 PM

what do u mean by Tname?
table name or a column name in one of them or both?
M.ASH
Oracle Eng
EMEA

#3 aza

aza

    عضو نشط

  • الأعضــاء
  • 303 مشاركة

تاريخ المشاركة 23 March 2006 - 07:51 AM

the 2 query selecting from one table

#4 aza

aza

    عضو نشط

  • الأعضــاء
  • 303 مشاركة

تاريخ المشاركة 23 March 2006 - 08:29 AM

بما أنه ما في حد جاوبني
هذا قد يحل المشكلة

ولكن أريد رأيكم .. هل هذا الحل صحيح

select * from (
select * from tab
union
select * from tab
)
order by tname

#5 Debug_b!bo

Debug_b!bo

    عضو نشط

  • الأعضــاء
  • 482 مشاركة

تاريخ المشاركة 23 March 2006 - 11:44 AM

u can not make order by table name,if u want to order by the table1 first,put it in first in ur statement
M.ASH
Oracle Eng
EMEA

#6 informat

informat

    عضو

  • الأعضــاء
  • 25 مشاركة

تاريخ المشاركة 23 March 2006 - 11:47 AM


your solution is correct , but hard to write .... I think the problem of your first code was as Debug_b!bo said ... you mismatch in writing your order by column soo he show this message


Oracle Certified Professional Building Internet Application

Oracle Certified Associate Database Administration 

Microsoft Certified .Net Framework 2.0 Specialist

#7 aza

aza

    عضو نشط

  • الأعضــاء
  • 303 مشاركة

تاريخ المشاركة 23 March 2006 - 12:30 PM

Thank u for your reply

will you please rewrite that query to be correct

Thanks

#8 أسامة موسى

أسامة موسى

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 2,381 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 23 March 2006 - 02:56 PM

الاخت aza
ما قمتي باقتراحه صحيح حيث يستخدم ال union لدمج بين بيانات جدولين مختلفين ولكن مشتركين بنفس بيانات عمود معين ولذلك ال order by تكتب في النهاية ويجب ان تكون تحتوي لحقل مشترك
هذا ما رغبت بتوضيحه
۩ اللهـــــــــــــــــــــــم صلي على سيدنا محمد وعلـى آله وصحبه أجمـعين ۩
۩ سبحـــــــــــــــــان الله وبحمده ....... سبحــــــــــــــــــــــــان الله العظيم ۩



يمكنك زيارتي على صفحتي الخاصة بالفيس بوك على الرابط AskOsama

يمكنك زيارتي على مدونتي الجديدة على الرابط http://askossama.blogspot.com

#9 AMM

AMM

    عضو

  • الأعضــاء
  • 1 مشاركة

تاريخ المشاركة 25 March 2006 - 10:17 AM

بسم الله الرحمن الرحيم
يمكنك إستعمال الجملة بالشكل الآتي
select a,b,c
from tab1
union
select d,e,f
from tab2
order by 1
هذا سوف يرتب بالعمود الأول مثلا وهكذا
وشكرا

#10 aza

aza

    عضو نشط

  • الأعضــاء
  • 303 مشاركة

تاريخ المشاركة 26 March 2006 - 07:53 AM

شكرا جزيلا لكم جميعا على هذا التوضيح