Ich versuche, 2 Abfragen mit einer verschachtelten Abfrage zu kombinieren. Die erste ist dies:Verschachtelte Abfragen in SQL
SELECT DISTINCT(de.MCH_CODE) AS Mach, md.MAT_CODE as ShortenCode, de.TIME as start_time
FROM table1 AS de
JOIN table1table2 AS md
ON de.subcode= md.subcode
WHERE de.ev = '123' AND de.time > '2017-11-14 07:00' and de.side = 'R' AND de.end IS NULL AND de.Subcat = 'STOP'
ORDER BY de.time
die das Ergebnis
Mach ShortenCode Tme
Mach1 451 2017-12-25 08:25
Mach2 854 2017-12-25 08:25
451 auf Mach1 So erzeugt ist. Der knifflige Teil ist, dass ich für ShortenCode den vorherigen Mach zeigen möchte, dass es auf war. Es wäre so etwas wie:
SELECT distinct de.MCH_CODE FROM table1 AS de
join table2 as md
ON de.subcode = md.subcode
WHERE de.ShortenCode = 'the ones displayed in the first query'
Wie kann ich Unterabfrage:
Mach ShortenCode Tme Mach(Previous)
Mach1 451 2017-12-25 08:25 Mach4
Mach2 854 2017-12-25 08:25 Mach5
Basily Mach Spalte Mach1, Mach2 und auch Mach4 und Mach5 hat. Ich habe dies versucht, aber ohne Erfolg:
SELECT t1.Mach, t1.ShortenCode, t1.start_time, t2.PreviousMach
FROM(SELECT DISTINCT(de.MCH_CODE) AS Mach, md.MAT_CODE as ShortenCode, de.TIME as start_time, mch_
FROM table1 AS de
JOIN table1table2 AS md
ON de.subcode= md.subcode
WHERE de.ev = '123' AND de.time > '2017-11-14 07:00' and de.side = 'R' AND de.end IS NULL AND de.Subcat = 'STOP'
ORDER BY de.time
) t1
join
(SELECT distinct de.MCH_CODE FROM table1 AS de
join table2 as md
ON de.subcode = md.subcode
WHERE de.ShortenCode = t1.ShortenCode
) t2
Wenn Sie Vorschläge haben, würde ich
'DISTINCT' ist ** nicht ** eine Funktion (auf einer Spalte). Es ist ein Teil von 'SELECT DISTINCT' und gilt für die gesamten ausgewählten Zeilen. Entfernen Sie diese überflüssigen Klammern, d. H. SELECT DISTINCT de.MCH_CODE AS Mach, ... '. – jarlh
Überprüfen, Danke @jarlh. Was ist mit der Logik der Abfrage? Ist das der richtige Weg, die beiden zu kombinieren? – Christian
Ich hasse Reverse Engineering-Anfragen. Siehe: [Warum sollte ich ein MCVE für eine scheinbar einfache SQL-Abfrage bereitstellen?] (Https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve- for-was-scheint-mir-sehr-einfach-sql-Abfrage) – Strawberry