PDA

View Full Version : حذف فیلدهای تکراری از اطلاعات ارسالی به جدول



rasoulbarname
سه شنبه 24 مرداد 1391, 06:29 صبح
سلام دوستان :چشمک:
مثلا من دو جدول دارم به نام های
personnel = با فیلدهای ,...,family,name , (کد مدرسه)id , idm
profile= با فیلدهای idm, addres,name , tell
که با کد زیر join کردم ونتیجه را به جدول temp فرستادم ولی با هر بار اجرای کوئری نتایج تکراری را هم دوباره به جدول میفرستد
Insert into temp
select p.*,pr.address from personnel as p
inner join profile as pr on p.idm=pr.idm
سوال
1) کدی میخواهم که افرادی که id,idm انها تکراری است ودر جدول temp قرار دارند را به جدول نفرستد وفقط فیلدهای جدید را بفرسته:متفکر:
2)کدی میخواهم که جدول temp را آپ دیت کند نه اینکه نتایج را پشت سر نتایج قبلی بنویسد
برای این دوسوال دوکد جداگانه میخواهم
:قلب::قلب: یه دنیا ممنونم:قلب::قلب:

baktash.n81@gmail.com
سه شنبه 24 مرداد 1391, 09:18 صبح
برای سئوال اول در خصوص Distinct جستجو بفرمایید ...

برای سئوال دوم هم به جای Insert از Update استفاده کنید ... به اینصورت که اطلاعات حاصل از Join رو با اطلاعات Temp بر اساس فیلد کلید Join کند و فیلدهای Temp رو با فیلدهای حاصل از join به روز کند ...


Update TableA Set TableA.FirstName = R.F1,TableA.PersonnelID=TableC.F2 From
TableA Join TableB AS R on TableA.ID=R.ID Join TableC on R.ID=TableC.ID

rasoulbarname
سه شنبه 24 مرداد 1391, 10:57 صبح
با سلام ممنون از جوابتون
در مورد distinc من کد زیر را وارد کردم خطا گرفت
select DISTINCT idd from temp
select into temp
set p.*,pr.address from personnel as p
inner join profile as pr on p.idm=pr.idm

چگونه فیلد های تکراری را از جدول حذف کنم
2)در مورد آپ دیت هم فقط کد بالا را بنویسم یا اینکه........ میشه بیشتر تو ضیح بدید ممنون از وقتی که میذارید
اگه میشه کد ها رو واضح تر بنویسید

baktash.n81@gmail.com
سه شنبه 24 مرداد 1391, 11:25 صبح
کد Update رو باید برای خودتون تغییر بدید یعنی نام جداول و فیلدهای خودتون رو بزاری این فقط یه مثاله ...

rasoulbarname
سه شنبه 24 مرداد 1391, 12:14 عصر
کد Update رو باید برای خودتون تغییر بدید یعنی نام جداول و فیلدهای خودتون رو بزاری این فقط یه مثاله ...
برای distinc من کد زیر را نوشتم کوئری اجرا میشود ولی تغییرات در جدول اعما ل نمیشود یعنی فیلدهای تکراری در جدول هنوز وجود دارد

(select p.*,pr.address from personnel as p
inner join profilee as pr on p.idm=pr.idm)
select DISTINCT idd from temp
مشکل پروژه من فقط همینه که نباید فیلد های تکراری حاصل از join در جد ول tempوارد شود