T-SQL compare deux valeurs de tables

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