@ruRikki

MySQL Оператор SELECT — как задать диапазон значений в сокращенном формате?

Запрос вида:
SELECT type_1, type_2, type_3, type_4, type_5, type_6, type_7, type_8, type_9, type_10, type_11, type_12, type_13, type_14, type_15  FROM ".DB_TABLE." WHERE id1='".$id1[$c]."'

Как привести к виду:
SELECT SOME_FUNCTION (type_1,  type_15)  FROM ".DB_TABLE." WHERE id1='".$id1[$c]."'

Какая функция подходит? (поддержка mysql) Или любой другой валидный способ.
  • Вопрос задан
  • 495 просмотров
Решения вопроса 1
Так не получится, но Вы ведь строите запрос как то, раз в конце есть:
id1='".$id1[$c]."'

Воспользуйтесь теми возможностями которые предоставляет то средство с помощью которого строите запрос. Насколько я понял это PHP.
Например так:
$select = "";
for($i = 1; $i < 16; $i++){
	$select .= "type_" . $i;
	if($i < 15){
		$select .= ", ";
	}
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@ruRikki Автор вопроса
Евгений Колегов, ну если на php то лучше так)
class RikkiSQL {
	public function RikkiValues($name, $num) {
		$values = "";
		for($i = 1; $i < $num; $i++) {
			$values .= $name.$i.", ";
		}
		$values .= $name.$num;
		return $values;
	}
}

require_once CLASSES."RikkiSQL.class.php";
$sql = new RikkiSQL();
$cost_res2 = db1query("SELECT ".$sql->RikkiValues(building_type_, 15).", ".$sql->RikkiValues(building_cost_, 15).", ".$sql->RikkiValues(building_stotal_, 15).", ".$sql->RikkiValues(building_sliving_, 15).", ".$sql->RikkiValues(building_skit_, 15)." FROM ...

хотелось бы на sql, отмечаю как решение, спасибо
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы