0
我需要帮助来创建存储过程。我正在学校系统工作,我想从不同的表中获得费用细节。首先,请参阅我写使用连接从表中获取数据
@payment_id varchar(150), @campus_id varchar(150) as
begin
select s.GR,s.Name,s.FatherName,c.Class+' (' +s.Section+ ')' as Class,f.ChallanNo,f.IssueDate,f.DueDate,f.FeeMonth,t.Name as FeeName,
d.Amount
from FeePayment f
join Student s ON s.StudentId = f.FkStudentId
and f.PaymentId = @payment_id
and f.FkCampusId = @campus_id
join ClassDetail c ON c.ClassId = s.FkClassId
join FeeDetail d ON f.PaymentId = d.FkpaymentId
join FeeType t ON t.TypeId = d.FkFeeTypeId
end
此代码工作正常的代码,但在FeeType我想补充的方案时,t.TypeId!= d.FkFeeTypeId那么d.FkFeeTypeId回报。我有一个收费类型的表中提到的所有英尺类型,并在产生费用我添加额外的英尺类型的文本框的情况下,如果footype没有在英文字型表中提到,所以用户可以手动写脚型和数量。在获取费用详细信息时,将选择在英式类型表中找到的所有英尺类型,并且如果在其表格中未找到英尺类型,则会按照原样选择d.FkFeeTypeId。 对不起我的英文不好:) 在此先感谢。
当t.TypeId!= d.FkFeeTypeId时,您期望在结果中获得新的一行?或者您希望在结果中为每个FeeType设置一个列? – Sparrow
很确定你需要的是将FeeType上的连接改为左连接。为自己做个忙,不要害怕使用一些空白区域。当您将所有左对齐的内容填充并留下空格时,您的查询很难阅读得比他们需要的更多。 –
@SeanLange - 他有很多疯狂的标签。 – Hogan