为另一个表的每一行获取前三行表

时间:2016-10-05 15:00:36

标签: mysql

我需要表格:

Table A:
CName           |   Id
-------------------------------
John Smith      | 1
Jane Doe        | 4
John Smith      | 9
Joe Bloggs      | 10

Table B:
Id       |   IdUser          |   state
-------------------------------
1        |    1              | PD
2        |    4              | AS
3        |    1              | JT
4        |    1              | PD
5        |    1              | PD
6        |    4              | JT
7        |    1              | JT
8        |    4              | PD
9        |    4              | JT

表的关系是A可以有几个B而B只能有一个A(A1- * B)。

对于表A的每一行,我需要创建一个查询来获取表B的前3行

所以在这个例子中,结果将是:

CName           |   Id(A)   |    Id(B)     |    state
-------------------------------------------------------
John Smith      | 1         |      1       |     PD
John Smith      | 1         |      3       |     JT
John Smith      | 1         |      4       |     PD
Jane Doe        | 4         |      2       |     AS
Jane Doe        | 4         |      6       |     JT
Jane Doe        | 4         |      8       |     PD

0 个答案:

没有答案