我有两个这样的表:
TableOne(id, name, attr)
{
1, Mark, A
2, Peter, B
3, John, A
4, Mary, A
}
TableTwo(id, id_TableOne, path)
{
1, 1, one.png
2, 1, two.png
3, 1, three.png
4, 3, foo.png
5, 3, bar.png
}
SELECT TableOne.name, TableTwo.path
FROM TableOne, TableTwo
WHERE TableOne.attr = 'A'
AND TableOne.id = TableTwo.id_TableOne
That outputs:
{
Mark, one.png
Mark, two.png
Mark, three.png
John, foo.png
John, bar.png
}
我想限制子查询,每个名称只显示一个路径。 所需的输出将是:
{
Mark, one.png
John, foo.png
Mary, NULL
}
我尝试做 LIMITS,并在另一个中写一个 select,但我没有得到我想要的结果,我还读到一些让我担心的东西
"MySQL does not support LIMIT in subqueries for Un Certain subquery operators"
来自 http://dev.mysql.com/doc/refman/5.0/en/subquery-restrictions.html
谁能指导我解决我的问题?请。
最佳答案
试试这个:
SELECT TableOne.name, MIN(TableTwo.path)
FROM TableOne LEFT JOIN TableTwo ON (TableOne.id = TableTwo.id_TableOne)
WHERE TableOne.attr = 'A'
GROUP BY TableOne.name
关于mysql - 如何在 MySQL 中限制查询中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28723221/