gpt4 book ai didi

mysql - SQL:如何在此查询中获取 UniqueIdentifier 列

转载 作者:行者123 更新时间:2023-11-29 03:15:53 25 4
gpt4 key购买 nike

一些背景说明:
我有一些表格,想获得每个职位的最低日期。一个职位有多个存储日期的部门。

样本:
位置1有
部门日期 1: 30.05.2019,
部门日期 2:01.06.2019,
部门日期 3:05.06.2019....等等

我在获取以下输出中的 UniqueIdentifier 列 id_abteilungen 时遇到问题:

Result of Query

得到上述结果使用的Query是这样的:

SQL

SELECT tbl_Auftrag.Auftragsnummer
, tbl_Positionen.Bezeichnung
, MIN(tbl_Positionen_Abteilungen.Abteilungstermin) AS Abteilungstermin
FROM tbl_Auftrag
INNER JOIN tbl_Positionen
ON tbl_Auftrag.auftrag_id = tbl_Positionen.id_auftrag
INNER JOIN tbl_Positionen_Abteilungen
ON tbl_Positionen.positionen_id = tbl_Positionen_Abteilungen.id_positionen
WHERE tbl_Positionen_Abteilungen.fertiggestellt = '0'
GROUP BY tbl_Positionen_Abteilungen.id_positionen
, tbl_Auftrag.Auftragsnummer
, tbl_Positionen.Bezeichnung

为了得到这个结果,我需要 GROUP BY id_positionen。一旦我尝试 GROUP BY id_positionen, id_abteilungen
结果将再次显示所有部门的所有职位及其日期。

Output with GROUP BY id_positionen, id_abteilungen

实现的结果必须是这样的,但我只是不知道如何得到这个结果:

Output I wish like to have

如果对表以及主键和外键有任何疑问,或者您可能需要了解其他信息 - 请随时提问。我所需要的只是正确的查询,以获取位置中找到的每个最低日期的 id_abteilungen 唯一标识符,以及查询图像结果中显示的其他列。

最佳答案

你不应该在 group by 中使用 tbl_Positionen_Abteilungen.id_positionen
相反,你应该选择你的结果加入一个 subqiery for min Abteilungstermin

    select  * 
FROM tbl_Auftrag
INNER JOIN tbl_Positionen ON tbl_Auftrag.auftrag_id = tbl_Positionen.id_auftrag
INNER JOIN tbl_Positionen_Abteilungen ON tbl_Positionen.positionen_id = tbl_Positionen_Abteilungen.id_positionen
INNER JOIN (
SELECT tbl_Auftrag.Auftragsnummer
, tbl_Positionen.Bezeichnung
, MIN(tbl_Positionen_Abteilungen.Abteilungstermin) AS Abteilungstermin
FROM tbl_Auftrag
INNER JOIN tbl_Positionen ON tbl_Auftrag.auftrag_id = tbl_Positionen.id_auftrag
INNER JOIN tbl_Positionen_Abteilungen ON tbl_Positionen.positionen_id = tbl_Positionen_Abteilungen.id_positionen
WHERE tbl_Positionen_Abteilungen.fertiggestellt = '0'
GROUP BY tbl_Auftrag.Auftragsnummer, tbl_Positionen.Bezeichnung
) t on t.Auftragsnummer = tbl_Auftrag.Auftragsnummer
and t.Bezeichnung = tbl_Positionen.Bezeichnung
and t.Abteilungstermin = tbl_Positionen_Abteilungen.Abteilungstermin
WHERE tbl_Positionen_Abteilungen.fertiggestellt = '0'

关于mysql - SQL:如何在此查询中获取 UniqueIdentifier 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56825849/

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