Подскажите как правильно сделать выборку по многим полям (ели в MySQL это вообще реально).
Спустя 31 минута, 17 секунд (26.07.2011 - 18:56) Invis1ble написал(а):
Надо именно на SQL?
Можно с использованием пыха, примерно так:
Можно с использованием пыха, примерно так:
$query = "SELECT `field" . implode('`,`field', range(25, 100)) . "` FROM `table`";
Спустя 6 минут, 14 секунд (26.07.2011 - 19:02) Winston написал(а):
Вот так
Спустя 1 минута PHPprogrammer написал(а):
Опередил
Invis1ble
Ну ты и метеор
$fields = implode('`,`field', range(25, 30));
echo $query = "SELECT `field" . $fields . "` FROM `table`";
Спустя 1 минута PHPprogrammer написал(а):
Опередил
Invis1ble
Ну ты и метеор
Спустя 17 часов, 51 секунда (27.07.2011 - 12:03) Haotarez написал(а):
На php и я сам знаю, задача - чистый SQL запрос..
Но спасибо за желание помочь.
Но спасибо за желание помочь.
Спустя 57 минут, 40 секунд (27.07.2011 - 13:01) Invis1ble написал(а):
Haotarez
К сожалению, я не силен в SQL.
Есть пердположение - сделать цикл и в нем конкатенировать строки с присвоением в переменную, а затем подставить эту переменную в запрос... но скорее всего это мегакостыль
К сожалению, я не силен в SQL.
Есть пердположение - сделать цикл и в нем конкатенировать строки с присвоением в переменную, а затем подставить эту переменную в запрос... но скорее всего это мегакостыль
Спустя 3 часа, 59 минут, 7 секунд (27.07.2011 - 17:00) alex12060 написал(а):
Можно процедурой замутить, но это - гемор
Спустя 7 часов, 42 минуты, 56 секунд (28.07.2011 - 00:43) Invis1ble написал(а):
Haotarez
Вобщем написал маленькую ф-цию, но как впихнуть ее в запрос на выборку - не знаю... :)
- не катит
Вобщем написал маленькую ф-цию, но как впихнуть ее в запрос на выборку - не знаю... :)
DELIMITER //
CREATE FUNCTION get_fields (fromN INT, toN INT) RETURNS TINYTEXT
BEGIN
DECLARE qFields TINYTEXT;
WHILE fromN <= toN DO
SET qFields = CONCAT_WS('`,`field', qFields, fromN);
SET fromN = fromN + 1;
END WHILE;
RETURN CONCAT('`field', qFields, '`');
END //
SELECT (SELECT get_fields(25, 100)) FROM `table`
- не катит
_____________
самые трудные пути легче преодолевать за счет отсутствия конкуренции.