从两个PHP表中选择

时间:2012-11-23 17:51:33

标签: php sql

这应该是一个非常简单的代码,但我无法弄清楚。基本上我想加入两个表。其中一个表具有用户名,另一个表具有所有订单 用户提交的。我想要一个包含所有用户的列表,由提交了大多数订单的用户订购。这可以使用JOIN吗?

SELECT COUNT(table1.Orders)
        , table2.Name 
    FROM table1 
        LEFT JOIN table2 ON table1.IDName = table1.IDName 
ORDER BY COUNT(table1.Orders)

这是我现在的代码。感谢您查看此内容,我期待听到您的回复。

2 个答案:

答案 0 :(得分:2)

您可能需要使用GROUP BY并按降序排序。您的JOIN错了,我将table1.IDName替换为table2.IDName

SELECT COUNT(table1.Orders) AS nb, table2.Name
FROM table1
LEFT JOIN table2 ON table1.IDName = table2.IDName
GROUP BY table.Name
ORDER BY nb DESC

答案 1 :(得分:1)

我最好的猜测是,如果我理解正确的话,你会尝试将两个表连接在同一个表和字段上,这是没有意义的。如果只使用单个表中的字段,如何从两个表中加入结果?为什么要写:table1.IDName = table1.IDName?我相信你应该写table2.IDName = table1.IDName

而不是:

SELECT COUNT(table1.Orders)
        , table2.Name 
    FROM table1 
        LEFT JOIN table2 ON tabel1.IDName = table1.IDName 
    ORDER BY COUNT(table1.Orders)

你应该写:

SELECT COUNT(table1.Orders)
        , table2.Name 
    FROM table1 
        LEFT JOIN table2 ON tabel2.IDName = table1.IDName 
    ORDER BY COUNT(table1.Orders)

使用 Jocelyn 建议的GROUP BY子句也是验证的关键点。