php - 第一份工作日期的 MySQL 查询

标签 php mysql

我有这个 MySQL 查询,在几个表上有多个连接。其中一个表是作业列表。我想在第一份工作日期添加一个 where 子句。

SELECT      leads.*, orders.*, jobs.* 
FROM        leads 
LEFT JOIN   orders  ON leads.lead_id = orders.lead_id 
LEFT JOIN   jobs    ON orders.order_id = jobs.order_id 
WHERE       (first_job_date) >= $date

现在我不明白如何从所有这些工作中获取 first_job_date。 我试过:

first_job_date = (
    SELECT job_date 
    FROM jobs 
    WHERE jobs.order_id = orders.order_id
    ORDER BY jobs.job_date
    LIMIT 1
)

但它永远不会起作用,尽管当我将此 SELECT 语句放入 SELECT 查询中时它会起作用。

预先感谢您的帮助。

最佳答案

了解问题后更新

如果您想要订单中的所有工作,其第一个 job_date 是 >= $date ...

这可行:

[WHERE] date > (
     SELECT MIN(temp.job_date)
     FROM jobs temp 
     WHERE temp.order_id = jobs.order_id
)

或者添加为连接中的子查询

LEFT JOIN (
    SELECT temp.order_id, MIN(temp.job_date) as job_date
    FROM jobs temp
    GROUP BY temp.order_id
) as first_job_date ON (
   temp.order_id=jobs.order_id)

然后在您的 WHERE 中,您可以与 first_job_date.job_date

进行比较

关于php - 第一份工作日期的 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45978445/

相关文章:

mysql - rails : returning the latest data of fields

php - 显示从 MySQL 获取的 15 个元素的限制(而我被迫使用 15 以上的 LIMIT)

mysql - sql server 中的 XMLNS 问题

PHP SQL 将 Select 语句转换为用于数据库插入的变量

javascript - 使用 php 数组生成选择选项

php - 时间表MySQL查询

php - 如何在 Bluemix 中部署 Zend Framework 2

php - 如何使用 php 填充 manifest.json 文件?

php - 文件不加载 css

Mysql 存储过程。这个有什么问题吗?