1 (edited by agatlogic101 2019-11-21 16:49:37)

Topic: присвоить текст переменной

Возможно ли присвоить переменной сумму строк определённого id?
То есть, есть название городов, и допустим мероприятие к которому эти города привязаны. Так вот, возможно ли получить строку с именами всех городов через пробел которые относятся к этому мероприятию, причём что-бы это зависело от даты. Пример
таблица 1 мероприятия
id         имя
1          день города
Таблица 2 города
id         город        дата               id_мероприятия
1          Москва      02.02.2019    1
2          Воронеж   03.03.2019     1
3          Ростов      01.01.2019     1

Итог переменной присваивается текст "Ростов Москва Воронеж" (в порядке возрастания даты из таблицы "мероприятия" где id=1)

Re: присвоить текст переменной

попробуйте так

s := SQLExecute( 'SELECT group_concat("город", char(32)) FROM "города" WHERE "id_мероприятия"=1' );

А что значит, чтобы зависело в даты? каким образом зависело?

Dmitry.

Re: присвоить текст переменной

Ну как в примере, что с начало была бы первая запись из города с минимальной датой, потом та что идёт за ней, и в конце с максимальной датой. Как вычеслить минимальную или максимальную дату понятно. Но когда их 6 к примеру. То как уже присвоить им порядок непонятно

Re: присвоить текст переменной

необходимо добавить сортировку ORDER BY

s := SQLExecute( 'SELECT group_concat("город", char(32)) FROM "города" WHERE "id_мероприятия"=1 ORDER BY "дата"' );
Dmitry.