بهترین فرصت آموزش در جشنواره تخفیف های توسینسو بهترین فرصت آموزش در جشنواره تخفیف های توسینسو
مانده تا پایان تخفیف ها
مشاهده دوره ها
0

جمع مقادیر و نمایش اطلاعات یک فرد در دو بانک اطلاعاتی متفاوت

با سلام و احترام خدمت دوستان

من یک سوال داشتم و اینکه من در SQL Server 2008 دو بانک اطلاعاتی متفاوت دارم که هر کدام نیز دارای تعدادی جدول هستند مثلا 2 بانک اطلاعاتی به نام های B1 که دارای جدولی به نام T1 می باشد و این جدول دارای 3 فیلد Cod و Name و Famili هست که فیلد Cod فیلدی از نوع کلید اصلی می باشد ونیز یک بانک اطلاعاتی دیگر به نام های B2 که دارای جدولی به نام T2 می باشد و این جدول دارای 2 فیلد Cod و Number هست که فیلد Cod فیلدی از نوع کلید فرعی می باشد . حالا مثلا من می خواهم نام و فامیل و جمع نمرات فردی با کد 14 را پیدا نمایم . من به این صورت کد خود را می نویسم ولی خطا میده و وقتی قسمت SUM(B2.[dbo].T2.Number) از دستور زیر حذف می کنم کد خطا نمیده.

Select B1.[dbo].T1.Name ,B1.[dbo].T1.Famili , SUM(B2.[dbo].T2.Number) from B1.[dbo].T1 , B2.[dbo].T2 where B1.[dbo].T1.Cod = B2.[dbo].T2.Cod and B1.[dbo].T1='14'

لطفا راهنمایی نمایید . با تشکر فراوان

پرسیده شده در 1393/11/01 توسط

1 پاسخ

2

سلام و درورد کد شما اشتباه هست چون دارید Sum که یه عملیات aggregate هست رو بدون استفاده از Group By در قسمت Select به کار میبری.

کدتون رو تغییر بدید به حالت زیر ضمناً تو کد خودت قبل از عدد 14 که نوشتی اسم جدول که T1 باشه رو اوردی اما فیلدش رو که cod هست ننوشتی.

 Select B1.[dbo].T1.Name ,B1.[dbo].T1.Family , SUM(B2.[dbo].T2.Number) from B1.[dbo].T1 , B2.[dbo].T2 
		 where B1.[dbo].T1.Cod = B2.[dbo].T2.Code and B1.[dbo].T1.Cod='3'group by  B1.[dbo].T1.Name ,B1.[dbo].T1.Family

جدول T1:

سلام و درورد کد شما اشتباه هست چون دارید Sum که یه عملیات aggregate هست رو بدون استفاده از Group By در قسمت Select به کار میبری.
کدتون رو تغییر بدید به حالت زیر ضمناً تو کد خودت قبل از عدد 14 که نوشتی اسم جدول که T1 باشه رو اوردی اما فیلدش رو که cod هست ننوشتی.
<sql>
 Select B1.[dbo].T1.Name ,B1.[dbo].T1.Family , SUM(B2.[dbo].T2.Number) from B1.[dbo].T1 , B2.[dbo].T2 
		 where B1.[dbo].T1.Cod = B2.[dbo].T2.Code and B1.[dbo].T1.Cod='3'group by  B1.[dbo].T1.Name ,B1.[dbo].T1.Family
<sql>

جدول T1:

||http://dba.tosinso.com/files/get/e2bfa70a-686e-42c5-8a7f-96f4e9dbd17d||

جدول T2:

||http://dba.tosinso.com/files/get/ceac3030-0270-4efd-9bdc-5fb76d9cecb0||

خروجی و جواب نهایی:

||http://dba.tosinso.com/files/get/2b53b798-14a8-411f-a0a6-41ad44c02b98||

موفق باشید

جدول T2:

سلام و درورد کد شما اشتباه هست چون دارید Sum که یه عملیات aggregate هست رو بدون استفاده از Group By در قسمت Select به کار میبری.
کدتون رو تغییر بدید به حالت زیر ضمناً تو کد خودت قبل از عدد 14 که نوشتی اسم جدول که T1 باشه رو اوردی اما فیلدش رو که cod هست ننوشتی.
<sql>
 Select B1.[dbo].T1.Name ,B1.[dbo].T1.Family , SUM(B2.[dbo].T2.Number) from B1.[dbo].T1 , B2.[dbo].T2 
		 where B1.[dbo].T1.Cod = B2.[dbo].T2.Code and B1.[dbo].T1.Cod='3'group by  B1.[dbo].T1.Name ,B1.[dbo].T1.Family
<sql>

جدول T1:

||http://dba.tosinso.com/files/get/e2bfa70a-686e-42c5-8a7f-96f4e9dbd17d||

جدول T2:

||http://dba.tosinso.com/files/get/ceac3030-0270-4efd-9bdc-5fb76d9cecb0||

خروجی و جواب نهایی:

||http://dba.tosinso.com/files/get/2b53b798-14a8-411f-a0a6-41ad44c02b98||

موفق باشید

خروجی و جواب نهایی:

سلام و درورد کد شما اشتباه هست چون دارید Sum که یه عملیات aggregate هست رو بدون استفاده از Group By در قسمت Select به کار میبری.
کدتون رو تغییر بدید به حالت زیر ضمناً تو کد خودت قبل از عدد 14 که نوشتی اسم جدول که T1 باشه رو اوردی اما فیلدش رو که cod هست ننوشتی.
<sql>
 Select B1.[dbo].T1.Name ,B1.[dbo].T1.Family , SUM(B2.[dbo].T2.Number) from B1.[dbo].T1 , B2.[dbo].T2 
		 where B1.[dbo].T1.Cod = B2.[dbo].T2.Code and B1.[dbo].T1.Cod='3'group by  B1.[dbo].T1.Name ,B1.[dbo].T1.Family
<sql>

جدول T1:

||http://dba.tosinso.com/files/get/e2bfa70a-686e-42c5-8a7f-96f4e9dbd17d||

جدول T2:

||http://dba.tosinso.com/files/get/ceac3030-0270-4efd-9bdc-5fb76d9cecb0||

خروجی و جواب نهایی:

||http://dba.tosinso.com/files/get/2b53b798-14a8-411f-a0a6-41ad44c02b98||

موفق باشید

موفق باشید

پاسخ در 1393/11/01 توسط

پاسخ شما