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

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

صورة
- - - - -

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


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

#1 mmmme

mmmme

    عضو

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

تاريخ المشاركة 23 February 2008 - 12:03 AM

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

هذه الجداول مع البيانات كامله
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-اعرض رقم واسم كل صنف غير مباع ويذيد رصيده عن رصيد كل الاصناف المباعه.

#2 weloooo

weloooo

    مشرف

  • فريق الإشراف
  • 249 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 25 February 2008 - 02:56 AM

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

أحمد يحيى


Oracle Apps Senior Technical Consultant


#3 llord

llord

    مشترك

  • الأعضــاء
  • 114 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 27 February 2008 - 06:05 PM

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

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


/*  اعرض رقم واسم كل عميل بأجمالى مشتريات تزيد عن 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))


#4 mmmme

mmmme

    عضو

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

تاريخ المشاركة 27 February 2008 - 11:04 PM

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

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

#5 abdo_its

abdo_its

    عضو

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

تاريخ المشاركة 28 February 2008 - 10:30 AM

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

تم التعديل بواسطة abdo_its, 28 February 2008 - 11:12 AM.


#6 abdo_its

abdo_its

    عضو

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

تاريخ المشاركة 28 February 2008 - 11:06 AM

------------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, 28 February 2008 - 02:58 PM.


#7 Shibeika

Shibeika

    عضو نشط

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

تاريخ المشاركة 28 February 2008 - 11:26 AM

السلام عليكم ورحمة الله وبركاته
إليك الحلول وبطريقة مختلفة علي حسب فهي مراعاة للسرعة التنفيذ والله أعلم.
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)


#8 جلال شواقفه

جلال شواقفه

    عضو مميز

  • الأعضــاء
  • 2,559 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 28 February 2008 - 04:39 PM

شكرا لكم على هذه المشاركات والمعلومات
ارجو من يستفيد من مشاركاتي الدعاء لوالدي ولاموات المسلمين بالمغفره والرحمه......

جلال محمود شواقفه
مدير دائرة الحاسوب
بلدية المفرق الكبرى
المملكه الاردنيه الهاشميه.

#9 mmmme

mmmme

    عضو

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

تاريخ المشاركة 29 February 2008 - 09:04 PM

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