我在数据库中有三个表
表:组
我,姓名
表:医生
Id,DId,DoctorName,
表:比率
Id,DId,UpLimit,downLimit。
当我内心加入它们时,我正在将重复值提升到Uplimit和downlimit,
实际上Group与医生有关,一组id可以有多位医生,所以当我用Group和doctor保存一些数据时,它会保存到所有具有相同数据的记录,uplimit downlimit因医生而异,但是我内部加入它对所有医生显示相同,如何跳过uplimit和downlimit如何编写查询..
Select A.Group , B.doctor , C.Uplimit, D.downlimit from Group A
inner join Doctor B
on A.id = B.id
inner join C ratio
on A.id = c.id
问题是当我在医生表中单独检查医生ID时,它只显示一条记录,当我内部加入时,它向所有医生显示相同的数据 如何加入他们?
答案 0 :(得分:0)
请在DISTINCT
之后使用SELECT
子句。这将过滤重复项。
Select DISTINCT A.[Group] , B.doctor , C.Uplimit, D.downlimit
FROM Group A
inner join Doctor B
on A.id = B.id
inner join Ratio C
on B.id = C.id
最好避免将关键字用作表/列名称。
答案 1 :(得分:0)
你的表结构必须像
表:组
我,姓名
表:医生
Id,DId(组表的外键),DoctorName
表:比率
Id(Doctor Table的外键),UpLimit,downLimit。
比率表缺少外键或主键,假设比率表的Id是外键
Select A.Group , B.doctor , C.Uplimit, D.downlimit from Group A
inner join Doctor B
on A.id = B.Did
inner join ratio C
on B.id = c.id
这应该提供你需要的东西