PDA

View Full Version : انتخاب هوشمند از دو جدول چگونه است ؟



Ali_Prodes
سه شنبه 18 آبان 1389, 11:23 صبح
با سلام

در مورد مطلب زیر در صورت امکان راهنمایی کنید :قلب: :

(جدول اطلاعات)
(Select ی که باید انجام شود این است ) انتخاب تمامی اطلاعات جدول و + یک ستون اضافی (نام فرد یا شماره تماس ناشناخته) .
***

حالا فیلد شماره تماس (در جدول اطلاعات) با فیلد شماره تماس (در جدول شماره ها) مقایسه شود .

اگر شماره تماس آمده (در جدول اطلاعات) در جدول شماره ها بود نام فرد مورد نظر در ستون اضافی در Select بالا بیاید .

در غیر اینصورت عیناً شماره تماس (که در جدول شماره ها وجود ندارد) در ستون اضافی در Select بالا بیاید .

ممنون .

Reza_Yarahmadi
سه شنبه 18 آبان 1389, 12:02 عصر
به چندين روش ميشه اين كار رو انجام داد
روش اول:
Select
Field1,
Field2,
Field3,
...,
Column1 = case When t.Tel in (Select Tel From TelTable)
Then (Select Name From TelTable Where Tel = t.Tel)
else
cast(t.Tel as nvarchar)
end
From TableName t
روش دوم:
With h1 as(
Select
Field1,
Field2,
Field3,
...,
Cast(Tel as varchar) as Col1
From
TableName
Where
Tel NOT IN(select Tel From TelTable)
)
, h2 as(
Select
Field1,
Field2,
Field3,
...,
tt.Name as Col1
From
TableName t inner join TelTable tt
on
t.Tel = tt.Tel
)
Select
Field1,
Field2,
Field3,
...,
col1
From
h1
UNION ALL
Select
Field1,
Field2,
Field3,
...,
col1
From
h2