Mysql查询以获得所需的结果

时间:2016-01-07 12:42:44

标签: mysql select join

我一直在使用SQL连接,并且有点坚持以下方案:

表1:PK(ID,GRADE)

| ID |等级| Student_Count |

| 1 | 10日| 20 |
| 1 | 9日| 20 |
| 2 | 10日| 20 |
| 2 | 9日| 20 |


表2:PK(ID,Grade,Visited_Date)

| ID |等级|访问| Visit_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”,输出应为:

| ID |等级| Student_Count |访问| Visit_date |

| 1 | 10日| 20 |是| 2015年12月25日|

| 1 | 10日| 20 |没有| 2015年12月26日|

| 1 | 9日| 20 |是| 2015年12月28日|

| 1 | 9日| 20 |没有| 2015年12月29日|

注意:两个表之间没有外键关联。

1 个答案:

答案 0 :(得分:0)

您必须加入idgrade字段上的两个表格。

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