[英]Combine Two Unrelated Tables
我从来不需要这样做,它只是为了在asp.net的gridview控件上显示信息。
这是我所拥有的:
SELECT [VisitNumber], [Date], [DateFreq], [Weight], [Fat], [BloodPressure], [Pulse], [Total], [Discount], [NetTotal], [AmountPaid], [PaymentStatus], [TypeOfPayment], [Comments] FROM [tblVisits] WHERE ([PatientID] = '16')
SELECT [DatePrescribed], [AdditionalSupply], [Medication], [Dose], [Quantity], [Type], [Description], [Expires], [Lot] FROM [tblMedications] WHERE (([PatientID] = '16') AND ([DatePrescribed] = (select top 1 dateprescribed from tblMedications where ([PatientID] = '16') order by DatePrescribed desc))) ORDER BY [DatePrescribed] DESC
有什么方法可以将它们结合起来,也许是对PatientID的完全加入? 我对sql不太好,所以任何想法都将不胜感激。
似乎您希望通过patientID
某种SQL连接。
inner join
。 null
,请使用full outer join
。 null
,则请使用left
或right outer join
。 似乎最可能需要inner join
,如下所示:
select v.VisitNumber, v.Date, ..., v.Comments, m.DatePrescribed, m.AdditionalSupply...
from tblVisits as v inner join tblMedication as m
on v.PatientID = m.PatientID;
根据您的评论,您正在尝试根据就诊当天开出的处方药将药物加入就诊。 在这种情况下,您需要加入该信息:
SELECT [tblVisits].[VisitNumber], [tblVisits].[Date], ..., [tblVisits].[Comments],
[tblMedications].[DatePrescribed], ..., [tblMedications].[Expires], [tblMedications].[Lot]
FROM [tblVisits]
JOIN [tblMedications] ON [tblVisits].[PatientID] = [tblMedications].[PatientID]
AND [tblVisits].[Date] = [tblMedications].[DatePrescribed]
WHERE [tblVisits].[PatientID] = '16'
ORDER BY [tblVisits].[Date]
我想提到的是,我认为说这两个表“无关”并不是最好的表述方式。 根据日期,它们对您的应用程序确实具有有意义的关系。 它不是外键形式的明确对象,因为它不是基于密钥的关系。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.