PDA

View Full Version : کوری از یک رابطه 1 به دو



ehsan21
سه شنبه 21 بهمن 1393, 15:30 عصر
یا سلام و احترام
من یک رابطه 1 به 2 بین دو جدول A و B دارم
یعنی به ازا هر رکورد از جدول A حتما و فقط 2 رکورد در جدول B وجود دارد
حالا می خواهم یک کوری بگیرم به صورتی که به ازا هر رکورد جدول A، ستون ها هر دوسطر از جدول B مقابل آن نمایش داده شود.
چنین کوری امکان پذیر است؟

sajaaaaad
سه شنبه 21 بهمن 1393, 16:01 عصر
سلام.
به سوالت نمیخوره اینقد سخت باشه ولی خیلی سخته ها :لبخندساده:
خب یک کاری کن دوتا رکوردو پشت سر هم توی جدول B ذخیره کن. یعنی دوبار ستونای جدول B رو تکرار کن و با یک select ساده در میاد جوابی که میخوای :لبخند:
وگرنه فک کنم فک کنم باید یک پروسیجر خفن طراحی کنی و تک تک مقادیرو گیر بیاری بعدش سر هم کنیو همرو بفرستی

ehsan21
سه شنبه 21 بهمن 1393, 16:47 عصر
سلام.
به سوالت نمیخوره اینقد سخت باشه ولی خیلی سخته ها :لبخندساده:
خب یک کاری کن دوتا رکوردو پشت سر هم توی جدول B ذخیره کن. یعنی دوبار ستونای جدول B رو تکرار کن و با یک select ساده در میاد جوابی که میخوای :لبخند:
وگرنه فک کنم فک کنم باید یک پروسیجر خفن طراحی کنی و تک تک مقادیرو گیر بیاری بعدش سر هم کنیو همرو بفرستی

مسئله اینه که نمیشود ستون های جدول رو 2 بار تکرار کنم

SabaSabouhi
سه شنبه 21 بهمن 1393, 21:48 عصر
سلام
بله به راحتی. به شرطی که جدول B شما ستونی داشته باشه که مشخص کنه اولی هست یا دومی مثلاً مقدار یک و دو رو داشته باشه
کافیه جدول A رو دو بار با جدول B با ذکر شرط Join کنید.
به همین راحتی

صبا صبوحی

sajaaaaad
سه شنبه 21 بهمن 1393, 23:21 عصر
سلام
بله به راحتی. به شرطی که جدول B شما ستونی داشته باشه که مشخص کنه اولی هست یا دومی مثلاً مقدار یک و دو رو داشته باشه
کافیه جدول A رو دو بار با جدول B با ذکر شرط Join کنید.
به همین راحتی

صبا صبوحی
سلام فک نکنم بشه ها، اینجوری رکورد جدول اول رو دوبار میاره.! به ازای هر رکورد از جدول B رکورد جدول A رو میاره توی جوووین. (البته فک کنم)

sajadsobh
چهارشنبه 22 بهمن 1393, 04:00 صبح
فکر کنم باید از pivot استفاده بشه!

SabaSabouhi
چهارشنبه 22 بهمن 1393, 09:58 صبح
سلام فک نکنم بشه ها، اینجوری رکورد جدول اول رو دوبار میاره.! به ازای هر رکورد از جدول B رکورد جدول A رو میاره توی جوووین. (البته فک کنم)

سلام
دوست من، فکر می‌کنی یا تست کردی؟
مطمئن باش چیزی که گفتم بر اساس «احتمال» یا «شانس» نبوده.
بهترین راه همینه.


SELECT A.*, b1.Name, b2.Name
FROM A a
JOIN B b1 on b1.A_Id = a.Id AND b1.Index = 1
JOIN B b2 on b2.A_Id = a.Id AND b2.Index = 2


به همین راحتی

صبا صبوحی