الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ارجوكم المساعده فى هذه الاستعلامات الخطيره

Featured Replies

بتاريخ:

ارجوكم مساعدتى فى تحقيق الاستعلامات المطلوبه

هذه الجداول مع البيانات كامله

CREATE TABLE CUSTOMER 
(CustNo number(3),
CustName Varchar2(10) constraint customer_custname_nn Not Null,
City VARCHAR2(10) DEFAULT 'Cairo',
Phone CHAR(12),
constraint customer_custno_pk PRIMARY KEY (CustNO));
---------------------------------
create table item 
(itemno number(2),
itemname Varchar2(6),
itemPrice number(3,2),
qtyonhand number(3),
constraint item_itemno_pk PRIMARY KEY (itemno),
constraint item_qtyonhand_cc CHECK (qtyOnHand >=0));

--------------------------------
create table INVoice 
(invno number(4),
invdate date,
custno number(3) constraint invoice_custno_nn NOT Null,
constraint invoice_invno_pk PRIMARY KEY (invno),
constraint invoice_custno_fk FOREIGN KEY (custno) REFERENCES customer(custno));
---------------------------------
create table INVITEM
(invno number (4),
itemno number (2),
Qty number (2) NOT NUll,
Constraint INVITEM_invno_itemno_pk PRIMARY KEY (invno,itemno),
Constraint INVITEM_invno_fk Foreign Key (invno) REFERENCES 
invoice (invno),
CONSTRAINT INVITEM_itemno_fk FOREIGN KEY (itemno) REFERENCES 
item(itemno));
----------------------------------
desc Customer;

-- Insert Statment into TABLE CUSTOMER
insert into Customer values (211,'Khalil','Cairo',Null);
insert into Customer values (212,'Youseef','Cairo','002-546 1000');
insert into Customer values (225,'Ghada','Banha','044-234 2345');
insert into Customer values (239,'Hani','Alex','003-567 8899');
insert into Customer values (345,'Ayman','Cairo','002-624 2299');
insert into Customer values (444,'Bassem','Giza','00-388 3456');
insert into customer values (445,'soha','alex','');
insert into Customer values (447,'Noha','Giza',Null);
insert into Customer values (449,'Kahled','Alex','003-578 3000');
-----------------------------------
desc item;
-- insert statment into Table ITEM
insert into item values (1,'screw',2.25,50);
insert into item values (2,'Nut',5.00,110);
insert into item values (3,'Bolt',3.99,75);
insert into item values (4,'Hammer',9.99,125);
insert into item values (5,'Washer',1.99,100);
insert into item values (6,'Nail',0.99,300);
----------------------------------
desc invoice;
-- Insert statment into TABLE INVOICE
insert into Invoice values (1001,'5/5/2007',212);
insert into Invoice values (1002,'17/1/2007',225);
insert into Invoice values (1003,'23/1/2007',239);
insert into Invoice values (1004,'14/8/2007',211);
insert into Invoice values (1005,'1/9/2007',212);
----------------------------------
desc INVITEM;
-- INSERT Statment Into TABLE INVITEM
insert into invitem values (1001,1,5);
insert into invitem values (1001,3,5);
insert into invitem values (1001,5,9);
insert into invitem values (1002,1,2);
insert into invitem values (1002,2,3);
insert into invitem values (1003,1,7);
insert into invitem values (1003,2,1);
insert into invitem values (1004,4,5);
insert into invitem values (1005,4,10);




المطلوب
1- اعرض رقم واسم كل عميل بأجمالى مشتريات تزيد عن 50 .
2-اعرض رقم واسم كل صنف غير مباع باى فاتوره ورصيده بالمخزن.
3-اعرض رقم واسم كل عميل له اكثر من فاتوره .
4-استخدم استعلام فرعى لعرض رقم واسم كل صنف يقل رصيده بالمخزن عن متوسط الارصده لجميع الاصناف .
5-اعرض رقم واسم كل صنف غير مباع ويذيد رصيده عن رصيد كل الاصناف المباعه.

بتاريخ:

أخي الموضوع إن شاء الله سهل ولكن نرجو منك توضيح شرح بيانات الجداول وخصوصا جداول ال (invoice,invitem) حتى نتمكن من فهم وربط البيانات حسب النظام المرغوب

بتاريخ:

السلام عليكم
-----------------------

حاول تجرب الاستعلامات دى


/*  اعرض رقم واسم كل عميل بأجمالى مشتريات تزيد عن 50 . . */
SELECT c.custno, c.custname
 FROM customer c
WHERE 50 < (SELECT SUM (qp)
		   FROM (SELECT i.itemprice * it.qty qp, it.invno
				   FROM item i, invitem it
				  WHERE i.itemno = it.itemno) ii
		  WHERE ii.invno IN (SELECT iv.invno
							   FROM invoice iv
							  WHERE iv.custno = c.custno))
							  
							  
/* اعرض رقم واسم كل صنف غير مباع باى فاتوره ورصيده بالمخزن. */
SELECT i.itemno, i.itemname
 FROM item i
WHERE itemno NOT IN (SELECT itemno
					FROM invitem)
					
					
/* -اعرض رقم واسم كل عميل له اكثر من فاتوره . */
SELECT c.custno, c.custname
 FROM customer c
WHERE 1 < (SELECT COUNT (iv.invno)
		  FROM invoice iv
		 WHERE iv.custno = c.custno)


/* استخدم استعلام فرعى لعرض رقم واسم كل صنف يقل رصيده بالمخزن عن متوسط الارصده لجميع الاصناف . */
SELECT i.itemno, i.itemname
 FROM item i
WHERE i.qtyonhand < (SELECT AVG (ii.qtyonhand)
					FROM item ii)
					


/*اعرض رقم واسم كل صنف غير مباع ويذيد رصيده عن رصيد كل الاصناف المباعه.*/
SELECT i.itemno, i.itemname
 FROM item i
WHERE itemno NOT IN (SELECT itemno
					FROM invitem)
  AND i.qtyonhand > (SELECT MAX (ii.qtyonhand)
					FROM item ii
				   WHERE EXISTS (SELECT iv.itemno
								   FROM invitem iv
								  WHERE ii.itemno = iv.itemno))

بتاريخ:
  • كاتب الموضوع

شكرااااااااااااااااااااا

جزاك الله كل خير

بتاريخ:

بالنسبة للسؤال الرابع والخامس نرجوا التوضيح اكثر من ذلك لانى ممكن ان اقارن المتوسط للايتم كلها بما فيها الايتم الذى معى او كلها ما عدا الذى معى وكذلك السؤال الخامس اكبر حاجة لمين؟؟

تم تعديل بواسطة abdo_its

بتاريخ:

------------first question---------------
SELECT c.custno, c.custname
FROM customer c
WHERE 50 <( SELECT SUM (qty)
            FROM (SELECT i.itemprice * iv.qty qty,v.CUSTNO
                  FROM item i, invitem iv,invoice v
                  where i.ITEMNO=iv.ITEMNO and v.INVNO=iv.INVNO)qry
           where qry.CUSTNO=c.CUSTNO);

------------second question-------------
SELECT i.itemno,i.itemname
FROM item i 
WHERE not exists(select vi.ITEMNO from invitem vi where vi.ITEMNO=i.ITEMNO);
------------third question-------------
SELECT c.custno, c.custname,count(v.CUSTNO)
FROM customer c , invoice v 
WHERE (c.custno = v.custno)
having count(v.CUSTNO)>0
group by c.custno, c.custname;
------------forth question------------
select i.ITEMNO,i.ITEMNAME,i.QTYONHAND
from item i
where i.QTYONHAND < (select avg(ii.QTYONHAND)
from item ii);
------------fifth question------------
SELECT i.itemno,i.itemname
FROM item i 
WHERE not exists (select vi.ITEMNO from invitem vi where vi.ITEMNO=i.ITEMNO) and i.QTYONHAND >(SELECT MAX (ii.qtyonhand)
                       FROM item ii
                      WHERE EXISTS (SELECT iv.itemno
                                      FROM invitem iv
                                     WHERE ii.itemno = iv.itemno));

-----------------------------------------

تم تعديل بواسطة Amgad

بتاريخ:

السلام عليكم ورحمة الله وبركاته
إليك الحلول وبطريقة مختلفة علي حسب فهي مراعاة للسرعة التنفيذ والله أعلم.

select c.custno,c.custname,iv.qty*i.itemprice Purchages
from customer c,item i,invoice v,invitem iv
where c.custno=v.custno and
iv.invno=v.invno and
iv.itemno=i.itemno and
iv.qty*i.itemprice>50;

select itemno,itemname,itemprice,qtyonhand
from item
where itemno not in (select itemno from invitem)


select c.custno,c.custname,count(*) NofInvoice
from customer c,invoice v
where c.custno=v.custno
group by c.custno,c.custname
having count(*)>1;

select itemno,itemname,qtyonhand
from item
where qtyonhand <(select avg(qtyonhand) from item);


select itemno,itemname,itemprice*qtyonhand balance
from item
where itemno not in (select itemno from invitem)
and itemprice*qtyonhand >(select sum(i.itemprice*iv.qty)
from item i,invitem iv
where i.itemno=iv.itemno)
بتاريخ:

شكرا لكم على هذه المشاركات والمعلومات

بتاريخ:
  • كاتب الموضوع

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

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.