Forum Webscript.Ru
		Общие => Базы данных => Тема начата: alex007 от 06 Августа 2004, 01:33:51
		
			
			- 
				Привет,
Есть таблица:
-------------------------------------------------
| rateid | courierid | weight | cost |
-------------------------------------------------
|    1    |      1      |   100   | 1.15 |
-------------------------------------------------
|    2    |      1      |   120   | 1.35 |
-------------------------------------------------
|    3    |      1      |   140   | 1.85 |
-------------------------------------------------
|    4    |      1      |   160   | 2.05 |
-------------------------------------------------
|    5    |      1      |   180   | 2.45 |
-------------------------------------------------
Так проблема заключается в том что не могу создать заброс, а именно когда вес груза 132, то как сделать так что бы выбрать следуюющее значение 140.
Жду Ответа.
Заранее большой рахмет.
			 
			
			- 
				alex007 
приложением сделать округление...
			 
			
			- 
				select min(weight-132) from t where weight > 132; /* даст 8 */
select * from t where abs(weight-132 - 8) < 1;
			 
			
			- 
				commander 
tserbis 
Спасибо.
			 
			
			- 
				tserbis 
да забыл написать, что используя твою формулу, груз который весит 100, система будет выберать 120, хотя в таблице уже есть 100...
			 
			
			- 
				alex007 
>=
			 
			
			- 
				ThE0ReTiC 
Это я так и сделал, но здесь еще одна фигня есть, тоесть помимо первого курьера, там еще пару у которого таблица тарифов типа:
-------------------------------------------------
| rateid | courierid | weight | cost |
-------------------------------------------------
|    6    |      2     |   100    | 6.95 |
-------------------------------------------------
|    7    |      2      |   500   | 7.65 |
-------------------------------------------------
|    8    |      2      |   1000 | 9.85 |
-------------------------------------------------
|    9    |      2      |   2000 | 12.30|
-------------------------------------------------
Пример перечисленный выше работает нормально, но как груз весит 600 гр. так он теряется и выдает сумму 0.
			 
			
			- 
				select * from t where weight>=132 order by weight limit 0,1;
вот так одним запросом
			 
			
			- 
				Гость 
спасибо, но я уже давно нашел решение...
[OFF]так что темку прикрыть можно[/OFF]