花费一小时的时间...。我有以下简化表

+---------+   +-------------+   +-------------+
| fields  |   | details     |   | customers   |
+---------+   +-------------+   +-------------+
| id      |   | customer_ID |   | customer_ID |
| caption |   | field_id    |   | progress    |
+---------+   | field_value |   +-------------+
              +-------------+


字段表具有多个“字段”,例如first_name,last_name等,它们上面都有一个ID,然后详细信息将在其中具有适当的值,并且Customer表处理“主”客户信息。

我想做的是获取details.field_value,fields.caption WHERE details.customer_id = customers_id和customers.progress = X,然后按last_name的ID对其进行排序。

我为使这个工作正常而疯狂,所以以为我要在这里问一下,同时请他们吃午饭。

谢谢大家的帮助!

最佳答案

我认为您可以通过INNER JOIN查询来实现

SELECT c.id, c.caption
FROM customers a
INNER JOIN details b
ON a.customers_ID = b.customers_ID
INNER JOIN fields c
ON b.field_id = c.id
WHERE a.progress = ?
ORDER BY b.last_name ASC

关于php - 从多个表中选择MySQL记录并进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17012665/

10-12 17:17