View Full Version : جایگزینی نام خانوادگی به جای شماره
magnet
دوشنبه 12 فروردین 1392, 17:57 عصر
باسلام
دوستان من دو جدول دارم یکی به نام persons که سه ستون با نام های id,fn,ln دارد و محتوی مشخصات افراد می باشد و جدول دیگری به نام sentries که شامل ستون های id,shift1,shift2,shift3 می باشد که id شماره خودکار است و ستون های شیفت حاوی کد افراد می باشد.
سوال بنده این است که چگونه می توانم به جای شماره اختصاصی افراد که در ستون های سه گانه شیفت نوشته شده است نام و نام خانوادگی آن ها را قرار دهم؟
102173
ferdin
دوشنبه 12 فروردین 1392, 18:33 عصر
سلام
باسلام
دوستان من دو جدول دارم یکی به نام persons که سه ستون با نام های id,fn,ln دارد و محتوی مشخصات افراد می باشد و جدول دیگری به نام sentries که شامل ستون های id,shift1,shift2,shift3 می باشد که id شماره خودکار است و ستون های شیفت حاوی کد افراد می باشد.
سوال بنده این است که چگونه می توانم به جای شماره اختصاصی افراد که در ستون های سه گانه شیفت نوشته شده است نام و نام خانوادگی آن ها را قرار دهم؟
دوست عزیز ، ارتباط این دو تا تیبل به چه صورتی هست ؟ از طریق کدوم فیلد این دو تا با هم ارتباط دارند.؟
magnet
دوشنبه 12 فروردین 1392, 19:09 عصر
سلام
دوست عزیز ، ارتباط این دو تا تیبل به چه صورتی هست ؟ از طریق کدوم فیلد این دو تا با هم ارتباط دارند.؟
همونطور که گفتم تو هر کدوم از ستون های shift1, shift2 , shift3 یک عد وجود داره که کد افراد است(persons.id).
من میخوان یه کوئری داشته باشم که به جای کد فرد، نامش در شیفت بیاد.
morteza147
دوشنبه 12 فروردین 1392, 19:37 عصر
فکر کنم با این کارت راه میفته
SELECT (Select fn+' ' + ln from sentries Left join persons on sentries.shift1=persons.id ) AS Shift1,
(Select fn+' ' + ln as Shift2 from sentries Left join persons on sentries.shift2=persons.id) AS Shift2,
(Select fn+' ' + ln as Shift3 from sentries Left join persons on sentries.shift3=persons.id) AS Shift3
FROM sentries;
magnet
دوشنبه 12 فروردین 1392, 23:16 عصر
فکر کنم با این کارت راه میفته
SELECT (Select fn+' ' + ln from sentries Left join persons on sentries.shift1=persons.id ) AS Shift1,
(Select fn+' ' + ln as Shift2 from sentries Left join persons on sentries.shift2=persons.id) AS Shift2,
(Select fn+' ' + ln as Shift3 from sentries Left join persons on sentries.shift3=persons.id) AS Shift3
FROM sentries;
مرسی از جوابت، اما ارور میده:
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
یوسف زالی
سه شنبه 13 فروردین 1392, 01:11 صبح
join بی مورد دارید.
SELECT (Select fn + ' ' + ln from persons where sentries.shift1=persons.id) AS Shift1,
(Select fn + ' ' + ln from persons where sentries.shift2=persons.id) AS Shift2,
(Select fn + ' ' + ln from persons where sentries.shift3=persons.id) AS Shift3
FROM sentries;
در خصوص اون ارور شما چند پرسنل با یک کد دارید.
magnet
پنج شنبه 15 فروردین 1392, 12:16 عصر
join بی مورد دارید.
SELECT (Select fn + ' ' + ln from persons where sentries.shift1=persons.id) AS Shift1,
(Select fn + ' ' + ln from persons where sentries.shift2=persons.id) AS Shift2,
(Select fn + ' ' + ln from persons where sentries.shift3=persons.id) AS Shift3
FROM sentries;
در خصوص اون ارور شما چند پرسنل با یک کد دارید.
این کد هم همه مقادیر رو NULL بر میگردونه
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.