PDA

View Full Version : حلقه در بین روابط جداول و انتخاب سطر(کمک فوری)



htmbarnamenevisl
چهارشنبه 31 خرداد 1391, 11:15 صبح
سلام
من 4 تا جدول دارم . کاربر و متن پیام, فرستنده و دریافت کننده
در واقع فرستنده و دریافت کننده پیام کاربران هستند . ای دی کاربری کاربر به عنوان فرستنده و گیرنده در 2 جذول فرستنده و گیرنده درج میشه .
در 2 جذول فرستنده و گیرنده ای دی جدول پیام هم درج میشه
بین این 4 جدول یک حلقه از ارتباطات بوجود اومده . من نیاز دارم پپام بدست بیارم . اما باید مشخص باشه که این پیام از طرف کی فرستاده شده و به کی ارسال شده .با توجه به حلقه بوجود اومده من نمیتونم نام کاربری فرستنده و گیرنده رو با هم از جدول کاربر بدست بیارم . درواقع خروجی هیچی ندارم







SELECT dbo. Messages.Title, dbo.Messages.Message, dbo.aspnet_Users.UserName, dbo. Senders.SenderID,,


dbo.Receivers.ReceiverID


FROM dbo. Messages INNER JOIN


dbo. Senders ON dbo.Messages.MessageID = dbo. Senders.MessageID INNER JOIN


dbo.aspnet_Users ON dbo. Senders.SenderID = dbo.aspnet_Users.UserId INNER JOIN


dbo. Receivers ON dbo. Messages.MessageID = dbo. Receivers.MessageID AND


dbo.aspnet_Users.UserId = dbo. Receivers.ReceiverID






چکار کنم ؟
لطفا راهنماییم کنید

baktash.n81@gmail.com
چهارشنبه 31 خرداد 1391, 11:28 صبح
دوبار با جدول Users ها join کن ... با AS هم می تونی اسم هر کدوم رو عوض کنی ...


SELECT dbo.Messages.Title, dbo.Messages.Message, SendUsers.UserName,RecUsers.UserName, dbo. Senders.SenderID,dbo.Receivers.ReceiverID
FROM dbo.Messages
INNER JOIN dbo.Senders ON dbo.Messages.MessageID = dbo. Senders.MessageID
INNER JOIN dbo.aspnet_Users AS SendUsers ON dbo. Senders.SenderID = dbo.aspnet_Users.UserId
INNER JOIN dbo. Receivers ON dbo. Messages.MessageID = dbo.Receivers.MessageID
INNER JOIN dbo.aspnet_Users AS RecUsers ON dbo. dbo.Receivers.ReceiverID = dbo.aspnet_Users.UserId