• 0
code01

أحتاج انشاء علاقة بين جدول الأب وجدول الأبناء

سؤال

السلام عليكم 

لدي جدولين 

الجدول الأول : Patients

بيانات الجدول :

ID

Name

Address

Email

Mobile

IDNumber  رقم هوية المريض

 

الجدول الثاني : Children

ID

Name

IDNumber رقم هوية الابن / البنت / الزوجة - التابعين للمريض في الجدول الاول(Patients)

مطلوب مني اذا عبيت الجدول الاول (Patients) أقوم بإضافة تابعين لهذا المريض 

 

مثال:

 

اذا عبيت في الجدول الاول ما يلي :

ID             10

Name احمد عبدالله احمد

Address مكة

Email something

Mobile 123456

IDNumber 1111111

هنا اكملت بيانات المريض والمطلوب اني اضيف تابعين لهذا المريض ويجب إكمال ذلك كما يلي :

اسم المريض التابع : 

رقم الهوية :

صلة القرابة : ابن / بنت / زوجة 

ثم حفظ

 

المطلوب : استعلام .. يجيب لي اسم المريض مع بياناته كاملة و أيضا يجيب لي التابعين لهذا المريض (ابن/بنت/ زوجة ...الخ)

 

 

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

4 إجابة على هذا السؤال .

  • 0

اولا اقراء في الdatabase self relation لا نهذا سيساعدك كثيرا ثم اخبرنا بما فهمت خت نكمل علي اساس صحيح

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

كلفت على نفسك 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمه الله وبركاته

create view

واعمل realation زي الي في الصوره ما بين ال idnumber

وقم باظهار البيانات الي تريدها من الجدول الاول

 

او ممكن تكتب الكود ده في ال view

SELECT        dbo.patients.id, dbo.patients.adress, dbo.patients.email, dbo.patients.name, dbo.patients.mobile
FROM            dbo.childrens INNER JOIN
                         dbo.patients ON dbo.childrens.idnumber = dbo.patients.idnumber

 

Capture.PNG

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عليكم السلام 

يمكنك استخدام هذا الكوايري

CREATE VIEW [dbo].[VwFamily]
AS

SELECT	A.[Name]		,
		A.mobile		, 
		A.[Address]		,
		A.Email			,
		A.IDNumber		,
		(SELECT COUNT(B.[Name]) FROM [dbo].[Children] B WHERE A.IDNumber = B.IDNumber)  AS NoOfChiled,
		STUFF(
				(	SELECT		space(3) 
							+	CAST(ROW_NUMBER() OVER (ORDER BY B.[Name]) AS NVARCHAR(3))
							+	'-'
							+	B.[Name]
					FROM [dbo].[Children] B  
					WHERE A.IDNumber = B.IDNumber	FOR XML PATH(''), TYPE
				).value('.','NVARCHAR(MAX)'),1,2,' '
			 ) AS ChiledName
FROM [dbo].[Patients] A  

هذه صورة الكود من جهازي

 

pic1.JPG

RESULT.JPG

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .