【发布时间】:2012-06-16 09:34:21
【问题描述】:
我有一个客户表和一个订单表。每个客户可以有多个订单。
我想从订单表中选择每个客户以及他们最早的订单号(重要的是我选择最早的订单号,而不是任何订单)。我想列出是否有订单的客户,如果客户有多个订单,我不想将他们包含两次。
我正在使用这个:
SELECT *
FROM customers
LEFT JOIN orders
ON customers.id = orders.customer_id
GROUP BY customers.id
这给了我几乎我想要的东西,除了它会从表中选择它喜欢的任何订单 ID。我需要能够排序并选择最小的订单 ID。
有什么想法吗?
我很确定它在盯着我的脸...
编辑:请求的表格结构
-
客户:
| ID | Name | Address | Etc | ---------------------------------------- | 1 | Joe | 123 Fake Street | | | 2 | Mike | 1600 Fake Road | | | 3 | Bill | Red Square, Moscow | | ---------------------------------------- -
订单:
| ID | Customer_ID | Date | --------------------------- | 1 | 1 | ... | | 2 | 2 | ... | | 3 | 2 | ... | | 4 | 1 | ... | ---------------------------
【问题讨论】:
-
你能发布表格结构吗?
-
确定客户 ---------------------------------------- |身份证 |姓名 |地址 |等 | ---------------------------------------------------- | 1 |乔 |假街 123 号 | | | 2 |迈克 | 1600假路| | | 3 |比尔 |莫斯科红场 | | - - - - - - - - - - - - - - - - - - - - 命令 - - - - - ------------------ |身份证 |客户ID |日期 | --------------------------- | 1 | 1 | ... | | 2 | 2 | ... | | 3 | 2 | ... | | 4 | 1 | ... | --------------------------