繁体   English   中英

SQL查询合并两个表的结果

[英]Sql query to combine result of two tables

目前,我正在使用以下查询来显示以下结果。

SELECT * FROM RouteToGrowthRecord, GradeMaster,MileStoneMaster
WHERE MemberID = 'ALV01L11034A06' AND
RouteToGrowthRecord.GradeID=GradeMaster.GradeID AND
RouteToGrowthRecord.MileStoneID=MileStoneMaster.MileStoneID 
ORDER BY CheckupDate DESC

查询的输出为:

现在,我有另一个名为RouteToGrowthRecord_st表,该表与RouteToGrowthRecord具有相同的列, RouteToGrowthRecord带有一些其他字段。

我需要显示两个表中都存在的结果。 即。 如果RouteToGrowthRecord_st具有3个具有给定menberID记录,则输出必须包含3个以上的记录以及上述查询结果。(总共超过9 + 3 = 12个记录)。

    SELECT * FROM RouteToGrowthRecord a inner join GradeMaster b inner 
  join MileStoneMaster c inner join  RouteToGrowthRecord_st d on 
    a.GradeID=b.GradeID AND   a.MileStoneID=c.MileStoneID   and
    d.GradeID=b.GradeID AND  d.MileStoneID=c.MileStoneID 
    WHERE a.MemberID = 'ALV01L11034A06' 
    ORDER BY CheckupDate DESC

您可以按以下方式编写上述查询

SELECT * FROM RouteToGrowthRecord 
INNER JOIN GradeMaster ON  RouteToGrowthRecord.GradeID=GradeMaster.GradeID
INNER JOIN MileStoneMaster ON RouteToGrowthRecord.MileStoneID=MileStoneMaster.MileStoneID
LEFT JOIN RouteToGrowthRecord_st ON    RouteToGrowthRecord_st.memberID=RouteToGrowthRecord.memberID 
WHERE
RouteToGrowthRecord.MemberID = 'ALV01L11034A06'
order by CheckupDate DESC

您可以在此处使用Union合并从两个查询获得的结果。 对未映射的其他字段使用默认值。

这是我的答案

SELECT CheckUpDate,AgeInMonths,PresentWeight,Height,Diagnosis,growthstatus,GradeName,MilestoneName,MemberID
FROM RouteToGrowthRecord, GradeMaster,MileStoneMaster WHERE
 MemberID = 'ALV01L56107A11  ' and 
  RouteToGrowthRecord.GradeID=GradeMaster.GradeID and 
  RouteToGrowthRecord.MileStoneID=MileStoneMaster.MileStoneID 
  union
  SELECT CheckUpDate,AgeInMonths,PresentWeight,Height,Diagnosis,growthstatus,GradeName,MilestoneName,MemberID
   FROM RouteToGrowthRecord_st, GradeMaster,MileStoneMaster WHERE
 MemberID = 'ALV01L56107A11  ' and 
  RouteToGrowthRecord_st.GradeID=GradeMaster.GradeID and 
  RouteToGrowthRecord_st.MileStoneID=MileStoneMaster.MileStoneID 
  order by CheckupDate DESC

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM