gpt4 book ai didi

php - [mysql][php] 两个表的有问题的连接结果并在 php 中进行过滤

转载 作者:行者123 更新时间:2023-11-29 18:08:05 24 4
gpt4 key购买 nike

我正在寻找一种获取有关生产过程的数据的方法。我有两张 table :

生产:存储产品信息

时间线:有员工的详细信息以及他何时进行生产步骤

生产:

--------------------------
internal | type of closing
--------------------------
123 | close
122 | open

timeline:
------------------------------------------------
id | internal | employee | date | step
------------------------------------------------
1 | 123 | E01 | 2017-11-11 | diag
2 | 123 | E03 | 2017-11-12 | rep
3 | 122 | E06 | 2017-11-05 | diag

列步骤中的步骤是预先确定的(诊断、重复、测试)

我想得到一个结果:

----------------------------------------------------------------------------------------
internal | diag | date_diag | rep | date_rep | test | date_test | type of closing
----------------------------------------------------------------------------------------
123 | E01 | 2017-11-11 | E03 | 2017-11-12 | NULL | NULL | close
122 | E06 | 2017-11-05 | NULL | NULL | NULL | NULL | open

稍后按 date_rep(or)date_test(or)date_diag 和关闭类型(关闭/打开)过滤此结果。如何使用 Mysql 和 PHP 来完成此操作?性能最好,因为基数大。

最佳答案

您应该在同一个表上使用不同的别名,以如下方式连接表:

SELECT T1.internal, 
T1.employee,
T1.date as date_diag,
T2.employee as rep,
T2.date as date_rep,
NULL,
NULL,
P.description
FROM timeline T1
INNER JOIN production P ON T1.internal = P.internal
LEFT JOIN timeline T2 ON T1.internal = T1.internal and T2.step = 'rep'
WHERE T1.step ='diag'

这是一个足够接近解决方案的起点。

关于php - [mysql][php] 两个表的有问题的连接结果并在 php 中进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47652866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com