我用sql语句
SELECT FM_Module.MName, FM_Module.MID, FM_OV_M.OVID
FROM FM_Module INNER JOIN
FM_OV_M ON FM_Module.MID = FM_OV_M.MID
WHERE (FM_OV_M.OVID IN
(SELECT OVID
FROM FM_SV_OV
WHERE SVID = 13))
查出如下的表
MName MID OVID
-----------------------------------------
a 138 44
b 129 47
b 129 48
c 132 49
c 132 42
d 131 42
我想得到的结果是:
MName MID OVID
-----------------------------------------
a 138 44
b 129 48
c 132 49
d 131 42
那上面的sql语句要怎么改 谢谢 帮帮忙
SELECT FM_Module.MName, FM_Module.MID, FM_OV_M.OVID
FROM FM_Module INNER JOIN
FM_OV_M ON FM_Module.MID = FM_OV_M.MID
WHERE (FM_OV_M.OVID IN
(SELECT OVID
FROM FM_SV_OV
WHERE SVID = 13))
查出如下的表
MName MID OVID
-----------------------------------------
a 138 44
b 129 47
b 129 48
c 132 49
c 132 42
d 131 42
我想得到的结果是:
MName MID OVID
-----------------------------------------
a 138 44
b 129 48
c 132 49
d 131 42
那上面的sql语句要怎么改 谢谢 帮帮忙
FROM FM_Module INNER JOIN
FM_OV_M ON FM_Module.MID = FM_OV_M.MID
WHERE (FM_OV_M.OVID IN
(SELECT OVID
FROM FM_SV_OV
WHERE SVID = 13))
Group by FM_Module.MName, FM_Module.MID但是我觉得你数据库本身的数据有问题
FROM FM_Module A INNER JOIN
FM_OV_M B ON A.MID = B.MID
WHERE (B.OVID IN (SELECT OVID FROM FM_SV_OV WHERE SVID = 13))
Group By A.MName, A.MID
FROM FM_Module A INNER JOIN
FM_OV_M B ON A.MID = B.MID
WHERE (B.OVID IN (SELECT max(OVID) FROM FM_SV_OV WHERE SVID = 13))
Group By A.MName, A.MID
FROM FM_Module INNER JOIN
FM_OV_M ON FM_Module.MID = FM_OV_M.MID
WHERE (FM_OV_M.OVID IN
(SELECT max(OVID)
FROM FM_SV_OV
WHERE SVID = 13))