ایجاد جدول مغایرت در sql
با سلام
در پایگاه داده دو جدول داریم
جدول اول personel با فیلد های زیر
id,name,sdata , ......
جدول دوم computer با فیلد های زیر
sysid,id,name,sdata , .....
چگونه مغایرت بین این دو جدول که فیلد های id , name , sdata انها مشترک است را بدست آوریم
توضیح :
جدول اول لیست کاربران و دوم رایانه ها است ، به طور کلی میخواهیم اگر کاربرانی جایگاهشان sdata تغییر کرد سیستم متعلق به آنها نمایش داده شود .
پیشاپیش از بذل محبت شما سپاسگذارم.
3 پاسخ
بله استاد عزیز تکرار میشن
مثلا
در داخل شهرداری یک نفر پست x رو داره که در sdata هست
در همون پست یک رایانه هست
حالا اون نفر از اونجا منتقل شده و ما میخواهیم بدونیم کدام رایانه متعلق به جایگاه تغییر یا فته است یعنی همخوانی نداره
خب ببینید ساختار این دیتابیس ایراد داره.
اصولا هیچ وفت نباید دیتای تکراری توی جداول باشه. مثلا شما id و name رو دو جا دارید.
برای پیدا کردن تکراری ها می تونید یه سری query با count بنویسید
select id,name from computer
group by id,name
having count(sdata)>1
منتها روش درستش اینه که جدول ها رو مرتب کنید :
یک جدول user مثل همین که دارید
یک جدول computer که فقط اطلاعات کامپیوتر ها رو داره :
sysId, sysName
و یک جدول رابط که فقط UserId , sysId داره.
حالا کاربر که جابجا میشه باید این جدول آخر رو بروز کنید.
منظورتون از مغایرت واقعا ایراده ؟
اینجا دقیقا sdata چی رو نشون میده؟ آیا id name و sdata دارن عینا توی دو جدول تکرار می شن ؟