سلام
من دارم یه سایت طراحی میکنم که توش بخش نظرات و جعبه گفتگو داره
یعنی هر کسی در صورت عضویت توی سایت میتونه نظر بذاره یا توی چت باکس مطلب بنویسه
این جدولها رو دارم
جدول Personal با فیلدهای :UserName,Name,Lname, ...(نام کاربری، نام و نام خانوادگی)
جدول ChatBox با فیلدهای: ChatId,UserName,ChatContent (شماره چت، نام کاربری، محتوای چت)
برای نمایش رکوردهای چت باکس این دستور رو نوشتم:
SELECT Personal.FName + ' ' + Personal.Lname AS Name,ChatBox.ChatContent,
ChatBox.ChatID
FROM ChatBox INNER JOIN
Personal ON ChatBox.UserName =Personal.UserName
ORDER BY ChatBox.ChatID DESC
با Inner Join که حالت انحصاریه دقیقا اگر رکوردهای متناظر توی دو تا جدول باشه نمایش داده میشه
حالا من اگه بیام کاربری رو حذف کنم، با توجه به نوع Joinی که استفاده کردم، اصلا دیگه مطالب درج شده ش دیده نمیشه
اگه از Left Join استفاده کنم، مطالبش دیده میشه و اسمش نمیاد
حالا به نظر شما برای حذف یه کاربر، به مدیر سایت این امکان رو بدم چت باکسهای اون کاربر رو پاک کنه یا اینکه از همین Inner Join استفاده کنم که اگه کاربری حذف شد کلا مطالبش دیده نشه
یا اینکه از همون اول موقع حذف یه کاربر تمامی ارسالهاش پاک بشه
میخوام بدونم کدوم روش بهتر و بهینه تره