我需要交叉两个表 在一个列上,在两个表中。
这是我的代码段:
SELECT b.VisitID, b.CarrierName, b.PhoneNum, b.PatientName, b.SubscriberID, b.SubscriberName,
b.ChartNum, b.DoB, b.SubscriberEmp, b.ServiceDate, b.ProviderName, b.CPTCode, b.AgingDate,
b.BalanceAmt, f.FollowUpNote, f.InternalStatusCode FROM billing b JOIN followup f
USING (VisitID) WHERE b.VisitID = f.VisitID
在'followup'表中,我有281行,'billing'表包含2098行。当我执行此查询时,我得到了481行。
有没有人面临这类问题? 你能帮助我交换这些表吗?
提前完成..
答案 0 :(得分:1)
我想你想在这里做一个左连接(不是你的例子中的内连接):
SELECT b.VisitID, b.CarrierName, b.PhoneNum, b.PatientName,
b.SubscriberID, b.SubscriberName, b.ChartNum, b.DoB,
b.SubscriberEmp, b.ServiceDate, b.ProviderName, b.CPTCode,
b.AgingDate, b.BalanceAmt,
f.FollowUpNote, f.InternalStatusCode
FROM billing b
LEFT JOIN followup f ON b.VisitID = f.VisitID
这也会从'billing'表中返回'followup'表中没有相应字段的行。
答案 1 :(得分:1)
在我看来,你很可能会有多次跟进。因此,备注表中的481条记录可能是准确的。
也许添加
ORDER BY b.SubscriberID
到JochenJung上面的回答并接受你有正确的行数。
GROUP BY b.SubscriberID
每个客户会给你一行