Ich versuche, zwei Tabellen basierend auf Logik zu verbinden, wo jeder Datensatz aus der ersten Tabelle einen Wert < = zu einer Zahl in der zweiten Tabelle mithilfe einer Verknüpfung ziehen würde. Ich bin gespannt, ob dies in SQL effizient erreicht werden kann. Ich habe ein paar Fragen zu Daten gefunden, aber nichts ganz ähnliches.SQL-JOIN-Wert kleiner als oder gleich der Zahl
Ich habe zwei Tabellen. 'Tabelle 1' ist die primäre Tabelle
**Table1**
+---------+---------+--------+
| Product | Carrier | Weight |
+---------+---------+--------+
| Z | B | 600 |
+---------+---------+--------+
| Z | B | 350 |
+---------+---------+--------+
| Y | A | 150 |
+---------+---------+--------+
| X | A | 75 |
+---------+---------+--------+
| Y | B | 10 |
+---------+---------+--------+
| X | A | 40 |
+---------+---------+--------+
'Table2' wird die Lookup-Tabelle
**Table2**
+---------+--------+------+
| Carrier | Weight | Cost |
+---------+--------+------+
| A | 50 | 2.50 |
+---------+--------+------+
| A | 100 | 2.00 |
+---------+--------+------+
| A | 200 | 1.75 |
+---------+--------+------+
| B | 200 | 1.85 |
+---------+--------+------+
| B | 400 | 1.50 |
+---------+--------+------+
| B | 600 | 1.35 |
+---------+--------+------+
Das Ergebnis wäre die nächsten Kosten von table2 für ein Gewicht < = Tabelle 1
**Result**
+---------+---------+--------+------+
| Product | Carrier | Weight | Cost |
+---------+---------+--------+------+
| Z | B | 600 | 1.35 |
+---------+---------+--------+------+
| Z | B | 350 | 1.50 |
+---------+---------+--------+------+
| Y | A | 150 | 1.75 |
+---------+---------+--------+------+
| X | A | 75 | 2.00 |
+---------+---------+--------+------+
| Y | B | 10 | 1.85 |
+---------+---------+--------+------+
| X | A | 40 | 2.50 |
+---------+---------+--------+------+
gilt Bei Verwendung eines herkömmlichen Joins liefert die erste Zeile Kosten, da 600 ein Gewicht ist, das in "Tabelle2"
aufgeführt istIch hoffe, Änderungen an der Abfrage oben, um das gewünschte Ergebnis zu erreichen.
Zur Info: Ich bin mit Microsoft SQL Server 2014