Alirezanet
چهارشنبه 11 تیر 1393, 03:14 صبح
سلام
مدتی هست دنبال راهی برای نوشتن یک Query میگردم که متاسفانه به نتیجه نرسیدم گفتم از اساتید مشورت بخوام.
فرض میکنیم 20 جدول دارم که 19 تای اونها به جدول اول (A) کلید خارجی دارند ....
حال نیاز دارم تا در یک View اطلاعات جدول A رو نمایش بدم که به ازای هر رکورد در جدول های دیگه یک رکورد مجزا بهم نشون بده ... و تا اینجاش مشکلی نیست و با یک Left Join بین تمامی جداول میشه این کار رو کرد. مثال :
SELECT
dbo.TableA.Title
FROM
dbo.TableA
LEFT JOIN dbo.TableB ON dbo.TableB .fk_col = dbo.TableA.pk_col
LEFT JOIN dbo.TableC ON dbo.TableC .fk_col = dbo.TableA.pk_col
LEFT JOIN dbo.TableD ON dbo.TableD .fk_col = dbo.TableA.pk_col
.
.
.
مشکل اینجاست من میخوام مشخص باشه که هر رکورد از کدوم جدول ایجاد شده .... مثلا نام هر جدول ویا فیلد مشترک همه جداول رو هم Select کنم.
خروجی فعلی :
--- Title1 ---
--- Title2 ---
--- Title3 ---
خروجی مورد نظر :
--- TableB --- Title1 ---
--- TableC --- Title1 ---
--- TableD --- Title1 ---
امیدوارم تونسته باشم مشکل رو توضیح بدم ... !
ممنون میشم نظرتون رو بگید
مدتی هست دنبال راهی برای نوشتن یک Query میگردم که متاسفانه به نتیجه نرسیدم گفتم از اساتید مشورت بخوام.
فرض میکنیم 20 جدول دارم که 19 تای اونها به جدول اول (A) کلید خارجی دارند ....
حال نیاز دارم تا در یک View اطلاعات جدول A رو نمایش بدم که به ازای هر رکورد در جدول های دیگه یک رکورد مجزا بهم نشون بده ... و تا اینجاش مشکلی نیست و با یک Left Join بین تمامی جداول میشه این کار رو کرد. مثال :
SELECT
dbo.TableA.Title
FROM
dbo.TableA
LEFT JOIN dbo.TableB ON dbo.TableB .fk_col = dbo.TableA.pk_col
LEFT JOIN dbo.TableC ON dbo.TableC .fk_col = dbo.TableA.pk_col
LEFT JOIN dbo.TableD ON dbo.TableD .fk_col = dbo.TableA.pk_col
.
.
.
مشکل اینجاست من میخوام مشخص باشه که هر رکورد از کدوم جدول ایجاد شده .... مثلا نام هر جدول ویا فیلد مشترک همه جداول رو هم Select کنم.
خروجی فعلی :
--- Title1 ---
--- Title2 ---
--- Title3 ---
خروجی مورد نظر :
--- TableB --- Title1 ---
--- TableC --- Title1 ---
--- TableD --- Title1 ---
امیدوارم تونسته باشم مشکل رو توضیح بدم ... !
ممنون میشم نظرتون رو بگید