50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

ایجاد جدول مغایرت در sql

با سلام

در پایگاه داده دو جدول داریم

جدول اول personel با فیلد های زیر

id,name,sdata , ......

جدول دوم  computer  با فیلد های زیر

sysid,id,name,sdata , .....

چگونه مغایرت بین این دو جدول که فیلد های id , name , sdata انها مشترک است را بدست آوریم

توضیح :

جدول اول لیست کاربران و دوم رایانه ها است ، به طور کلی میخواهیم اگر کاربرانی جایگاهشان sdata تغییر کرد سیستم متعلق به آنها نمایش داده شود .


پیشاپیش از بذل محبت شما سپاسگذارم.

پرسیده شده در 1403/05/03 توسط

3 پاسخ

0

بله استاد عزیز تکرار میشن

مثلا

در داخل شهرداری یک نفر پست x  رو داره که در sdata هست

در همون پست یک رایانه هست

حالا اون نفر از اونجا منتقل شده و ما میخواهیم بدونیم کدام رایانه متعلق به جایگاه تغییر یا فته است یعنی همخوانی نداره

پاسخ در 1403/05/05 توسط
0

خب ببینید ساختار این دیتابیس ایراد داره. 

اصولا هیچ وفت نباید دیتای تکراری توی جداول باشه. مثلا شما id و name رو دو جا دارید.

برای پیدا کردن تکراری ها می تونید یه سری query با count بنویسید 

select id,name from computer
group by id,name
having count(sdata)>1

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

یک جدول user مثل همین که دارید

یک جدول computer که فقط اطلاعات کامپیوتر ها رو داره :

sysId, sysName

و یک جدول رابط که فقط UserId , sysId داره.

حالا کاربر که جابجا میشه باید این جدول آخر رو بروز کنید.

پاسخ در 1403/05/05 توسط
1

منظورتون از مغایرت واقعا ایراده ؟


اینجا دقیقا sdata چی رو نشون میده؟ آیا id name و sdata دارن عینا توی دو جدول تکرار می شن ؟

پاسخ در 1403/05/03 توسط

پاسخ شما