我一直在使用SQL连接,并且有点坚持以下方案:
表1:PK(ID,GRADE)
| 1 | 10日| 20 |
| 1 | 9日| 20 |
| 2 | 10日| 20 |
| 2 | 9日| 20 |
表2:PK(ID,Grade,Visited_Date)
| 1 | 10日|是的| 2015年12月25日|
| 1 | 10日|没有| 2015年12月26日|
| 1 | 9日|是的| 2015年12月28日|
| 1 | 9日|没有| 2015年12月29日|
| 2 | 10日|是的| 2015年12月27日|
| 2 | 9日|没有| 2015年12月30日|
我需要的是一个 SELECT 查询,它从给定ID的两个表中返回数据,使得输出行应该与表2的数据匹配(没有所有可能的组合,如交叉/ dot product)以及表1中的非公共列。
例如,对于ID“1”,输出应为:
| 1 | 10日| 20 |是| 2015年12月25日|
| 1 | 10日| 20 |没有| 2015年12月26日|
| 1 | 9日| 20 |是| 2015年12月28日|
| 1 | 9日| 20 |没有| 2015年12月29日|
注意:两个表之间没有外键关联。
答案 0 :(得分:0)
您必须加入id
和grade
字段上的两个表格。
SELECT b.ID, b.Grade, a.Student_Count, b.Visited, b.Visit_date
FROM table2 b
INNER JOIN table1 a
ON a.ID = b.ID AND a.Grade = b.Grade
ORDER BY a.ID