php - 2 连接 MYSQL 并限制 1

标签 php mysql sql join

我有 3 个表,想要进行 sql 查询来正确查看它们。

1.) 扎卡兹

id | Comment

2.) 托瓦尔

id  | id_clients | zakaz

3.) 用户

id | name

它们的连接方式为:

zakaz.id = tovar.zakaz
tovar.id_clients = users.id

我想看看

zakaz.id | users.name  

但是我想限制每个 zakaz 只包含 1 个字符串,所以我这样做了:

SELECT zakaz.id, zakaz.comment, tovar.id_clients
    FROM zakaz
    JOIN tovar ON zakaz.id = tovar.zakaz
GROUP BY zakaz.id

然后我想加入用户,但它不起作用

SELECT zakaz.id, zakaz.comment, tovar.id_clients, users.name
    FROM zakaz
    JOIN tovar ON zakaz.id = tovar.zakaz
    GROUP BY zakaz.id
JOIN users ON users.id = tovar.id_clients

最佳答案

它将在Zakaz上显示最新的ID

SELECT  a.name, c.id
FROM    Users a
            INNER JOIN
            (
                SELECT id_clients, zakaz, MAX(id) maxID
                FROM Tovar
                GROUP BY id_clients, zakaz
            ) d 
                ON d.id_clients = a.id
            INNER JOIN Zakaz c
                ON d.zakaz = c.id

关于php - 2 连接 MYSQL 并限制 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12227236/

相关文章:

php - 检查用户名是否已存在于数据库 MySQL PHP

php - 向用户显示 Symfony 应用程序版本的最佳实践?

php - 使用 PHP 或 Javascript 在用户授权后保存 Facebook 网页

ios - 如何转换SQL语句“delete from TABLE where someID not in (select someID from Table group by property1, property2)

php - 如何在 Laravel 8 中的搜索框中过滤 bool 值

php - 订单插入,同一个订单中的多个项目

mysql - 在 LINQ 中执行 FirstOrDefault 的替代方法

android - 在 Sqlite 和 MySQL 中使用相同的数据库记录

sql - 编写查询以终止用户 session

java - 下一个 Java/SQL 代码序列中的问题是什么?