MySQL选择MAIN-ID的第一个SUB-ID

时间:2014-06-12 20:42:35

标签: mysql

My MySQL Table保存 MainID(kartikelpict)多个条目。每个条目都有另一个 SubID(nNr)。如何选择最低的SubID?

+--------------+--------------+-------+
| kartikelpict |     cPfad    |  nNr  |
+--------------+--------------+-------+
|     560      | picture4.jpg |   4   |
|     560      | picture3.jpg |   3   |
|     560      | picture2.jpg |   2   |
|     560      | picture.jpg  |   1   |
+--------------+--------------+-------+

我的SQL请求与下面的另一个表

结合使用
SELECT 
p1.kArtikel, 
p1.cName, 
p1.cKurzBeschreibung, 
p1.dLetzteAktualisierung, 
p1.dErstellt, 
p1.cSeo,
p2.kartikelpict,
p2.nNr,
p2.cPfad

FROM tartikel AS p1, tartikelpict AS p2 
WHERE p1.kArtikel = p2.kartikelpict 
ORDER BY kArtikel 
DESC LIMIT 50

1 个答案:

答案 0 :(得分:1)

通过获取tartikelpict

的最低金额,在nNr上使用自我加入
SELECT 
p1.kArtikel, 
p1.cName, 
p1.cKurzBeschreibung, 
p1.dLetzteAktualisierung, 
p1.dErstellt, 
p1.cSeo,
p2.kartikelpict,
p2.nNr,
p2.cPfad
FROM tartikel AS p1
JOIN tartikelpict AS p2 
ON(p1.kArtikel = p2.kartikelpict )
JOIN (SELECT kartikelpict ,MIN(nNr) nNr 
FROM tartikelpict GROUP BY kartikelpict ) p3
ON(p2.kartikelpict = p3.kartikelpict AND p2.nNr =p3.nNr)
ORDER BY p1.kArtikel 
DESC LIMIT 50

Demo