بتاريخ: 24 أكتوبر 200718 سنة comment_113961 السلام عليكم ورحمة الله وبركاته لو فرضنا لدينا الجدول a فيه جميع الموظفين وارقامهم واسمائهم والجدول b فيه ارقام الموظفين المرضىوالجدول c فيه ارقام الموظفين المسافرينونريد استعلام يظهر اسماء الموظفين المرضى والمسافرين , كيف تتم عمليه الربط اذا اردنا الربط الي الجمله FORM ؟مثلا انا حاولت كالتالي [left] select ................ FROM ( b FULL OUTER JOIN c ON b.employee_no=c.employee.no ) LEFT OUTER JOIN a ON c.employee_no=a.employee_no[/left] ولكن هذه الطريقة لم تنجح حيث انها اخرجت فقط اسماء الموظفين المسافرين تقديم بلاغ
بتاريخ: 25 أكتوبر 200718 سنة comment_114235 أن شاء الله اني اوفق الى الاجابة اصحيحة select number ,ename , dept,salary from a,b,c where a.number=b.ename and a.dept=c.salary; تقديم بلاغ
بتاريخ: 30 أكتوبر 200718 سنة كاتب الموضوع comment_114696 لا اعتقد ان اجابتك من الممكن ان تعمل ياعزيزي , أرجو ممن لديه الحل اخبارناحتى ولو كان باستخدام اي طريقة ربط من where او غيره تقديم بلاغ
بتاريخ: 30 أكتوبر 200718 سنة comment_114699 السلام عليكم و رحمة الله و بركاته ..جرب هذا الكود.. select a.emp_name from a,b,c where a.emp_id in ( select b.emp_id from b,c where b.emp_id=c.emp_id); أتمنى تكون الإجابة صحيحة .. تقديم بلاغ
بتاريخ: 30 أكتوبر 200718 سنة comment_114740 السلام عليكماخي الكريم , لكي تتمكن من استرجاع المعلومات من اكثر من جدول واحد يجب ان يكون تصميم هذه الجداول صحيحا بمعنا ان يكون تصميم ال ERD مبني على اساس ربط الجداول بصوره منطقيه مع بعض باستخدام المفاتيح الاوليه والثانويه او PK and FK وبهذه الحاله تستطيع استرجاع المعلومات من الجداول من خلال استخدام شرط ربط صحيح وعاده يكون بصوره مساوه المفتاحين الاولي والثانوي في عباره ال where وهنالك قاعده عامه هو ان شروط الربط او ال join condition يجب ان تكون على الاقل n-1 من الجداول, على فرش ان n هي عدد الجداول المراد استرجاع المعلومات منها.بالنسبه للمثال الذي تسال عنه فهو غير صحيح لان الجداول اصلا غير مكونه تكوين صحيح, يجب ان يكون هنالك جدول واحد لكل الموضفين مهما كانت حالتهم مسافرين او غير ذلك,فيما يلي مثال ساقوم باسترجاع بيانات من 3 جداول select employee_id, last_name, department_id, department_name, location_idfrom employees, departments, locationswhere employees.department_id = departments.department_idand departments.department_id = locations.department_idعلى اعتبار ان رقم الموظف واسمه ورقم القسم هي من جدول الموظفين واسم القسم هي من جدول الاقسام واسم الموقع هي من جدول المواقعمع الشكرعلي غزالهOracle Developerالسليمانيه - العراق تقديم بلاغ
بتاريخ: 16 نوفمبر 200718 سنة comment_116143 Creating Three-Way Joins with the ON Clause SELECT employee_id, city, department_name FROM employees e JOIN departments d ON d.department_id = e.department_id JOIN locations l ON d.location_id = l.location_id; تقديم بلاغ
بتاريخ: 3 ديسمبر 200718 سنة comment_117824 ده كود ربط بين 3 جداولجدول الموضفين مع الأدارات وجدول ترتيب المرتبات select e.ename,e.sal,d.dname,s.grade from emp e,dept d,salgrade s where e.deptno=d.deptno and e.sal between losal and hisal; تقديم بلاغ
بتاريخ: 27 أبريل 200818 سنة comment_127573 اعتقد ان الحل الصحيح هو :- select a.name from a join b on a.id = b.id join c on a.id = c.id تقديم بلاغ
بتاريخ: 1 مايو 200817 سنة comment_127855 السلام عليكم. أنا أؤيد رأي الأخ عبود وأرى أيضاً أن تكوين الثلاث جداول غير منطقي حيث أن البيانات تكاد تكوم متماثله في الثلاث جداول ولا يفرق بينهما إلا الحاله سواء كان مريض أو مسافر أو أياً كان. فالجدول الأول حسب كلامك به بيانات كل الموظفين سواء المرضى أو المسافرين أو أي حاله أخرى. ثم بعد ذلك تقوم بعمل جدول تحدد فيه الموظفين المرضى فقط والموجودين أساساًَ في الجدول الأول. وتقوم بإنشاء جدول آخر تكتب فيه الموظفين المسافرين والموجودين أيضاً في الجدول الأول ، أي أن الجداول الثاني والثالث ليسوا إلا حاله من الجدول الأول. في رأيي هذا خطأ منطقي وذلك للآتي:أولاً: إذا نظرت بدقه إلي العلاقه بين الجدول الأول الثاني وبين الجدول الأول والثالث ستجد كلاهما علاقة one to one وهذه العلاقه غالباً ما يتم حلها بدمج علاقة الجدولين في جدول واحد ويتم التمييز بينهما بإنشاء عمود آخر للتمييز بين بيانات كلا الجدولين(في حالتك تضيف عمود وتسميه الحاله وتحدد سواء مريض او مسافر أو أياً كان). في حالات نادره نستعين بعلاقة one to one ولكن حالتك هذه لا تحتاجها. ثانياً: إنشاء جداول بهذا الشكل يصعب عملية الصيانه والتطوير مستقبلياً. إن إنشاء جداول البيانات بهذا الشكل يصعب عليك عملية الإستعلام والتعامل مع البيانات وأظن أنك واجهتها الآن. إن ال ERD الناجح والمنطقي يسهل عملية ال Data Flow وبذلك تسهل عملية الصيانه والمتابعه للبرنامج وكذلك التطوير به. أما إذا كان لابد من تواجد الجداول بهذا الشكل فجملة الإستعلام تكون كالآتي: SELECT employee_id FROM a WHERE EXISTS (SELECT employee_id FROM B UNION SELECT employee_id FROM C); بالتوفيق والنجاح... تقديم بلاغ
بتاريخ: 27 يوليو 200916 سنة comment_164693 اخي اعمل فيو تجمع فيه بين جدولين وبعدين اجمع بين الفيو والجدول الثالث ان شاء الله تزبط تقبل احترامي تقديم بلاغ
بتاريخ: 27 يوليو 200916 سنة comment_164704 select employee_id, last_name, department_id, department_name, location_id from employees, departments, locations where employees.department_id = departments.department_id and departments.department_id = locations.department_id هذا الجواب الصحيح..شكرا لكاتبه تقديم بلاغ
بتاريخ: 27 يوليو 200916 سنة comment_164706 SELECT employee_id, city, department_name FROM employees e JOIN departments d ON d.department_id = e.department_id JOIN locations l ON d.location_id = l.location_id; ودي كمان صح تقديم بلاغ
بتاريخ: 28 يوليو 200916 سنة comment_164828 يااخوان لازم نفرق بين استعراض او استخراج البيانات من ثلاث جداول والربط بين الجداول في تصميم الجداولاذا كان الغرض هو استخراج البيانات من الجداول الثلاثه فهي كما في العلاقات الغير متساوية اعرض اسم الموظف وإدارته والدرجة الوظيفية والعاملين بإدارتي المبيعات والحسابات SELECT ENAME,GRADE,DNAME FROM EMP E,SALGRADE S,DEPT D WHERE E.DEPTNO=D.DEPTNO AND SAL BETWEEN LOSAL AND HISAL AND DNAME IN('ACCOUNTING','SALES') ; اما اذا كان الربط بين ثلاث جداول فيكون مثلا عندنا شاشه فيه الدول المحافظات المدن والاحياء -- REGION (Table) جدول المدن -- CREATE TABLE OMAR.REGION ( COD NUMBER, ENAME VARCHAR2(25 BYTE), COUNT_COD NUMBER, CONSTRAINT REGION_COD_PK PRIMARY KEY (COD), CONSTRAINT REGION_COUNT_COD_FK FOREIGN KEY (COUNT_COD) REFERENCES OMAR.COUNTRY (COD) ON DELETE CASCADE ); -- -- AREA (Table) جدول الاحياء -- CREATE TABLE OMAR.AREA ( COD NUMBER, ENAME VARCHAR2(25 BYTE), COUNT_COD NUMBER, REG_COD NUMBER, CONSTRAINT AREA_COUNT_COD_FK1 FOREIGN KEY (COUNT_COD) REFERENCES OMAR.COUNTRY (COD) ON DELETE CASCADE, CONSTRAINT AREA_REG_COD_FK2 FOREIGN KEY (REG_COD) REFERENCES OMAR.REGION (COD) ON DELETE CASCADE ); -- COUNTRY (Table) جدول الدول -- CREATE TABLE OMAR.COUNTRY ( COD NUMBER, ENAME VARCHAR2(25 BYTE), CONSTRAINT COUNTRY_COD_PK PRIMARY KEY (COD) ); _______.doc تقديم بلاغ
بتاريخ: 30 يوليو 200916 سنة comment_165034 أنا مع رأي الأخ الكونتإنك تعمل فيو تربط فيها بين جدولين ، بس تاخد بالك من حاجة :الفيو والجدول الثالث اللي هتربط بينهم يكون بينهم عمود مشتركيعني في واحد برايماري ويكون في التاني فورين كييعني ببساطة هو الإيكو جوين وهو أسهل طريقة للربط تقديم بلاغ
بتاريخ: 4 أغسطس 200916 سنة comment_165500 SELECT E.NAME FROM EMPLOYEE E, SICK S ,TRAVELLER T WHERE E.EMPNO = S.EMPNO OR E.EMPNO = T.EMPNO ; تقديم بلاغ
بتاريخ: 18 أغسطس 200916 سنة comment_167013 عزيزي الاجابه اسهل مما تتوقعوهي Select * from a where a.empno in(select b.empno from b union select c.empno from c) تقديم بلاغ
بتاريخ: 8 يناير 20179 سنة comment_281638 السلام عليكم ورحمة الله وبركاته انا عضو جديد لوفرضنا ان معنا ثلاثة جداول وهي A ,B,D والجدول A له عناصر كالتالي 1- رقمA 2- اسم A واريد وضع رقمA مفتاح اجنبي لـ الجدول B والجدول D كيف تتم العملية ... ارجو منكم التعاون ولكم جزيل الشكر.... تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.