Ich war für Aufzeichnungen suchen, innerhalb von 2 Wochen voneinander sind:Wie vermeiden Sie Self-Joins, die zu symmetrischen Ergebnissen in MySQL führen? , In der gleichen Tabelle, die als solche
SELECT stuff
FROM mytable AS a
JOIN mytable AS b
ON a.ID = b.ID
WHERE
(
a.Date = b.Date
OR
a.Date BETWEEN DATE_SUB(b.Date, INTERVAL 14 DAY) AND DATE_ADD(b.Date, INTERVAL 14 DAY)
OR
b.Date BETWEEN DATE_SUB(a.Date, INTERVAL 14 DAY) AND DATE_ADD(a.Date, INTERVAL 14 DAY)
)
;
Es funktionierte gut, aber jetzt habe ich ein Ergebnis mit dieser Art von Struktur:
| ID | a.Date | b.Date | a.Value | b.Value |
|----|------------|------------|---------|---------|
| 1 | 2016-01-01 | 2016-01-02 | foo | bar |
| 1 | 2016-01-02 | 2016-01-01 | bar | foo |
Entweder ich habe meine Verbindung in einer schlechten Art und Weise, die zu dieser doppelten Struktur führt, oder die Verbindung ist in Ordnung, aber ich brauche einen Weg, um die chirale Aufzeichnung zu entfernen. Kann mir jemand raten, wie es weitergeht?