ورود

View Full Version : یکی کردن فیلد چند مقداره در join برای جلوگیری از تکرار رکورد



one hacker alone
پنج شنبه 31 مرداد 1398, 17:57 عصر
با سلام
table1 =id, name , family
table2=id,job

جدول اول مشخصات افراد و جدول دوم تخصص افراد رو داریم
مثال


id

name

family



1

ali

Ahmadi



2

milad

rezaii



3

vahid

solimani






id

job



1

C#



1

C++



2

C#




بعد از join شدن خروجی به شکل زیره



id

name

family

job



1

ali

Ahmadi

C#



1

ali

Ahmadi

C++



2

milad

rezaii

C#




و مشکل اینه که بخاطر C# , C++ مشخصات علی و نام خانواده تکرار شده چجوری خروجی رو به شکل زیر در بیارم



id

name

family

job



1

ali

Ahmadi

C#
C++



2

milad

rezaii

C#




با تشکر

golbafan
پنج شنبه 31 مرداد 1398, 23:24 عصر
اینکار براحتی با GROUP_CONCAT ممکنه
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/f09d4166-2030-41fe-b86e-392fbc94db53/tsql-equivalent-for-groupconcat-function?forum=transactsql

one hacker alone
شنبه 02 شهریور 1398, 09:10 صبح
ممنون
اما اون دستور فقط در Mysql کار میکنه

Mahmoud.Afrad
شنبه 02 شهریور 1398, 21:12 عصر
https://www.mytecbits.com/microsoft/sql-server/concatenate-multiple-rows-into-single-string

one hacker alone
یک شنبه 03 شهریور 1398, 14:48 عصر
با سلام
خوشبختانه حل شد. باید از تابع STUFF و FOR XML PATH استفاده بشه