J'ai deux tables.
Première table:
Name Cost house 1 10000 house 2 5000 house 3 100
Deuxième table:
Type From To A 1.00 1000.00 B 1000.10 10000.00 С 10000.10 100000.00
Comment build la troisième table qui devrait ressembler.
Name Cost Type house 1 10000 C house 2 5000 B house 3 100 A
Vous pouvez utiliser:
SELECT t.*, r.Type FROM t -- first table LEFT JOIN r -- second table ON t.Cost BETWEEN r.[From] AND r.[To];
LiveDemo
Dans le cas où la précision est indéterminée, par exemple avec des décimales provenant d'un calcul ou de datetimes, vous pouvez utiliser une table 'type' avec une seule valeur de seuil.
Type From A 1.00 B 1000.10 С 10000.10 Select T1.Name, T1.Cost, Table2.Type From ( Select [From] Threshold, IsNull(Lead(From) Over (Order By From), (Some max value maybe 100000000)) NextThreshold From Table2) T2 Join Table1 T1 On T1.Cost >= T2.Threshold And T1.Cost < T2.NextThreshold