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

استخراج اطلاعات از چند جدول در SQL Server

باسلام خدمت دوستان عزیز

سوالم را با یک مثال شروع می کنم فرض بکنید ما یک جدول اصلی به نام T داریم که داری فیلد های Cod و Name و Family که مثلا داخل آن اطلاعات 100 نفر درج شده . و یه جدول دیگر به نام T1 داریم که دارای فیلد های Cod و Tell و Email که مثلا دارای 20 رکورد هست . فرض کنید افرادی که تلفن و ایمیل خود را وارد نمایند این اطلاعات در جدول T1 ذخیره می شود و جدول T و T1 از طریق فیلد Cod با هم در ارتباط هستند.

حالا مشکل من از اینجا شروع میشه که من می خواهم در خروجی اسامی تمام افراد را نمایش بده و کسایی که تلفن و ایمیل خود را وارد کرده اند را نشان بده و کسایی که وارد نکرده اند خالی باشد .

select T.Name ,T.Family ,T1.Tell ,T1.Email from T ,T1

ولی در دستور بالا اسامی هر 100 نفر موجود در جدول T را نشان نمی دهد. ولی من می خواهم اسامی هر 100 نفر از جدول T را نمایش بده ولی آن 20 نفر از جدول T1 که دارای تلفن هستند هم با مشخصاتشان نشان دهد و شماره تلفن و ایمیل 80 نفر دیگر را خالی بگذارد.

آیا این کار امکان پذیر می باشد.

باتشکر و سپاس فراوان

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

3 پاسخ

0

اگر میخواهید تمام اطلاعات رو چه فیلد های خالی و چه فیلد های پر هر دو تا جدول رو با هم نشونتون بده از کد زیر استفاده کنید

select * from B1.dbo.T ,b1.dbo.T1

ضمناً B1 اسم دیتا بیس من بود ، اگر هم میخواهید کد های تکراری نشان داده نشه که از distinct میتونی استفاده کنی

اگر میخواهید تمام اطلاعات رو چه فیلد های خالی و چه فیلد های پر هر دو تا جدول رو با هم نشونتون بده از کد زیر استفاده کنید

<sql>
select * from B1.dbo.T ,b1.dbo.T1
<sql>

ضمناً B1 اسم دیتا بیس من بود ، اگر هم میخواهید کد های تکراری نشان داده نشه که از distinct میتونی استفاده کنی

||http://dba.tosinso.com/files/get/821c8469-3b56-43c6-b5ea-2b05a666f2bf||

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

سلام دوست عزیز

فکر کنم سوالم را بد مطرح کردم.

در مثالی که من گفتم فیلد Cod در جدول T کلید اصلی میباشد و فیلد Cod در جدول T1 فیلد فرعی .

تعداد اعضاء جدول T برابر 100 عضو (یعنی جدول T دارای 100 ردیف می باشد ) میباشد. که شماره تلفن و ایمیل 20 نفر ( یعنی جدول T1 دارای 20 ردیف میباشد ) از این اعضاء در جدول T1 ثبت شده است. حالا من می خواهم در یک نگاه لیست هر 100 نفر را مشاهده نمایم و متوجه بشوم که کدام یک از این 100 نفر شماره تلفن و ایمیل خودرا ثبت کرده اند. ( عنواین لیست هم مثلا کد ، نام ، فامیلی ، تلفن ، ایمیل میباشد . که سه عنوان اول مربوط به جدول 100 ردیفی T میباشد و دو فیلد آخری مربوط به جدول 20 ردیفی T1 می باشد).

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

از کد زیر استفاده کنید تمام نفرات داخل جدول رو میاره حتی کسانی که ایمیل رو وارد نکردند

 select
    t.Cod,t.Name,T.Family,T1.Email,t1.Tell from T
left join T1
on t.Cod = t1.Cod group by t.Cod,t.Name,T.Family,t1.Email,t1.Tell

از کد زیر استفاده کنید تمام نفرات داخل جدول رو میاره حتی کسانی که ایمیل رو وارد نکردند
<sql>
 select
    t.Cod,t.Name,T.Family,T1.Email,t1.Tell from T
left join T1
on t.Cod = t1.Cod group by t.Cod,t.Name,T.Family,t1.Email,t1.Tell
<sql>
||http://dba.tosinso.com/files/get/5ce90480-1275-4092-96e0-0aada0371b8d||
موفق باشید

موفق باشید

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

پاسخ شما