PDA

View Full Version : نمایش نام بیمار در جدول مراجعات



اوبالیت به بو
جمعه 14 بهمن 1390, 12:02 عصر
درود

من بوسیله این دستورات می توانم نام بیماری رو که در جدول مراجعات ثبت شده رو نمایش بدم. فرض کنید همان ماجرای کالا و جزییات سفارش کالا در برنامه های فروش هست (Products & OrderDetails) که یک جدول واسط به نام Orders این وسط وجود داره.



SELECT FullyName
FROM Patients INNER JOIN
Visits ON Patients.ID = Visits.PatientID


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



Select [ID], [Date],[PatientID],[Price] FROM Visits ORDER By [Date] Desc


خروجی که به بنده نمایش می ده، در ستون PatientID کد یا شماره پرونده اون بیمار رو نشون می ده که قاعدتا هم باید همینطور باشه اما بنده می خوام به جای شماره پرونده نام بیمار متناظر با همون رکورد نمایش داده بشه. چطور می تونم اون دستور Join رو با این Select ترکیب کنم ه به خروجی مورد نظرم دست پیدا کنم؟

پ.ن: مشابه این تایپیک (http://barnamenevis.org/showthread.php?326083-%D8%AA%D8%A8%D8%AF%DB%8C%D9%84-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE-%D9%87%D8%A7%DB%8C-%D9%85%DB%8C%D9%84%D8%A7%D8%AF%DB%8C-%D8%A8%D9%87-%D8%B4%D9%85%D8%B3%DB%8C-%D8%AF%D8%B1-%D8%AF%D8%A7%D8%AE%D9%84-%DA%AF%D8%B1%DB%8C%D8%AF&p=1433377&viewfull=1#post1433377)

nedata
جمعه 14 بهمن 1390, 12:35 عصر
Select [ID], [Date],[PatientID],(Select FullyName From Patients Where ID=Visits.PatientID),[Price] FROM Visits ORDER By [Date] Desc

اوبالیت به بو
جمعه 14 بهمن 1390, 12:45 عصر
Select [ID], [Date],[PatientID],(Select FullyName From Patients Where ID=Visits.PatientID),[Price] FROM Visits ORDER By [Date] Desc
درود

من این دستور رو نوشتم:



Select
[ID],
[Date],
[FullyName],
[Mobile],
[Telephone],
[Address],
[Descriptions],
(Select [UserID] = Users.ID FROM Users INNER JOIN Patients ON Users.ID = Patients.UserID)
From Patients
ORDER BY [ID] Desc


و با این خطا مواجه می شدم:

Msg 512, Level 16, State 1, Line 1
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.


ممنونم از شما. مشکلم حل شد

baktash.n81@gmail.com
شنبه 15 بهمن 1390, 07:50 صبح
سلام

چرا از Join استفاده نکردید ... این روش یه مقداری کنده ... ؟؟ اگه مرتب قرار این Select انجام بشه بهتره از یه روش با بازدهی بهتر استفاده بشه ...

اوبالیت به بو
شنبه 15 بهمن 1390, 10:32 صبح
سلام

چرا از Join استفاده نکردید ... این روش یه مقداری کنده ... ؟؟ اگه مرتب قرار این Select انجام بشه بهتره از یه روش با بازدهی بهتر استفاده بشه ...

با اون پیغام خطا که نشونتون دادم مواجه می شم.

nedata
شنبه 15 بهمن 1390, 11:23 صبح
خواهش مي كنم.اينم از join

select * from patients p join visits v on p.id=v.patientid