2016-01-28 42 views
0

我有这两个表,我的目标是只显示某个人在某个代码基础上得到的最高分,因此只显示个人的名字,从某个没有排的行联,与从另一表中没有行和显示名称,代码和没有SQL联接和行链接

表1

+----+------+------+ 
| no | code | mark | 
+----+------+------+ 
| 01 | B4 | 90 | 
| 02 | B5 | 50 | 
| 03 | B4 | 50 | 
+----+------+------+ 

表2

+----+------+------+ 
| no | name | numb | 
+----+------+------+ 
| 01 | John | NULL | 
| 02 | Mike | NULL | 
| 03 | Jake | NULL | 
+----+------+------+ 

SELECT table2.no, table2.name, table1.code 
    FROM table2 
    INNER JOIN table1 
    WHERE code LIKE 'B4%' 
    ORDER BY MAX(mark); 

的主要问题是,似乎没有从表1

+0

改用'INNER JOIN table1 ON table1.no = table2.no'。 –

+0

因此,如果在表1中也存在编码B4和标记95的No 01;你想显示它而不是90吗?这在你的应用程序中甚至可能吗? – xQbert

+0

@ pieter-geerkens谢谢你的帮助很多 – Townsend

回答

1

代码和没有之间的联系我新的SQL很好,但尝试这个办法:

SELECT table2.no, table2.name, table1.code 
    FROM table2 
    INNER JOIN table1 
    ON table1.no = table2.no 
    WHERE code LIKE 'B4%' 
    ORDER BY MAX(mark); 
+0

谢谢你,帮助很多,我只是错过了ON位。谢谢 – Townsend