powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Можно ли составить такой ?
23 сообщений из 23, страница 1 из 1
Можно ли составить такой ?
    #38455204
Сергей111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеем таблицу в базе данных.
Город Расстояние
Как составить запрос состоящий из трех колонок?
В первой те города которые находятся на расстоянии меньшем 10км
Во второй - города находящиеся на расстоянии от 10 до 50км
В третьей города находяшиеся на расстоянии больше чем 50км
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38455350
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей111запрос состоящий из трех колонокЭто что-то новое!
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38455539
Сергей111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Знаете, я был рад когда увидел, что пришел ответ.
Но, прочитав его отчаялся. Думаю понятно что я хотел бы получить.
Если есть его решение я был бы благодарен человеку, подсказавшему мне.
Цепляться к словам......
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38455566
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
SELECT (SELECT Town WHERE distance<10) AS col1, (SELECT Town WHERE distance BETWEEN 10 AND 50) AS col2,(SELECT Town WHERE distance>10) AS col3
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38455569
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей111,

ПС. А при чём здесь раздел "PHP, Perl, Python"?
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38455571
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу, Больше 50.
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38455574
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять тьфуты! Ещё надо написать из чего селект, т.е. FROM.
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38455579
Сергей111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge
Код: sql
1.
SELECT (SELECT Town WHERE distance<10) AS col1, (SELECT Town WHERE distance BETWEEN 10 AND 50) AS col2,(SELECT Town WHERE distance>10) AS col3


Спасибо Вам большое, ShSerge. Как то не подумал, что не туда вопрос вписал. Думаю, что человек знающий PHP, конечно и знает MYSQL. Еще раз спасибо.
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38455601
Сергей111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,
Код: php
1.
SELECT (SELECT address from roomservice WHERE coord_x<55.4) AS col1, (SELECT address from roomservice WHERE coord_x BETWEEN 55.4 AND 55.8) AS col2


#1242 - Subquery returns more than 1 row
Я что-то не так делаю?
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38455627
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей111,

Нет, так не получится. Чё-то я напутал. С похмела, наверное.
Попозже напишу правильное решение.
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38455633
Сергей111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, буду ждать с нетерпением. Хотя и на этом благодарен.
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38455672
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей111Знаете, я был рад когда увидел, что пришел ответ.
Но, прочитав его отчаялся. Думаю понятно что я хотел бы получить.
Если есть его решение я был бы благодарен человеку, подсказавшему мне.
Цепляться к словам...... Модератор: Укажите используемую СУБД и желаемый результат запроса. Перенесу топик в профильный подфорум.
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38455725
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей111,

Нет, так не получится. Чё-то я напутал. С похмела, наверное.
Попозже напишу правильное решение.
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38455740
Сергей111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использую MYSQL.
Хотелось бы иметь
В первой колонке список городов, расстояние до которых меньше 10 км
Во второй города отстоящие на расстоянии от 10 до 50 км
В третьей - на расстоянии больше 50км.
из таблицы с полями:
Город, Расстояние(до него)
Спасибо заранее.
Извините, если что не так.
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38455937
avlaxoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей111,

Строго говоря, это не есть задача реляционной СУБД. Данные каждого из столбцов можно получить простым запросом вида
Код: sql
1.
 select town_name from town_table where town_distance ...

(здесь нужное условие), а заполнять столбцы уже на клиенте.
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38455972
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avlaxoft...Строго говоря, это не есть задача реляционной СУБД. Данные каждого из столбцов можно получить простым запросом вида
Код: sql
1.
 select town_name from town_table where town_distance ...

(здесь нужное условие), а заполнять столбцы уже на клиенте.
Ну, это же не спортивно! :(
ПС. А сделать запросом - фиг получается. Надо процедуру с курсором писать, имхо.
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38456319
Сергей111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avlaxoftСергей111,

Строго говоря, это не есть задача реляционной СУБД. Данные каждого из столбцов можно получить простым запросом вида
Код: sql
1.
 select town_name from town_table where town_distance ...

(здесь нужное условие), а заполнять столбцы уже на клиенте.
Спасибо, ребята. Так и пришлось сделать.
Дело в том, что в 1С такие запросы как то я делал(насколько помню).
Думал может и здесь смогу.
А так я получил три таблицы и разместил рядом.
Еще раз спасибо за участие.

Модератор: Тема перенесена из форума "PHP, Perl, Python".
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38456765
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей111список городовВ каком виде список?
Перечисление "Москва, Пенза, Казань" как конкатенция строк из нескольких записей в одну или в каждой строке выдачи по одному городу?
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38457376
Сергей111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В виде таблицы:
В первой колонке которой все города отстоящие на расстоянии до 50км
Во второй колонке - все города отстоящие на расстоянии от 10 до 50
В третьей колонке - все города отстоящие на расстоянии большем 50км
Если в какой то колонке городов меньше, чем в других, то после последнего города этой колонки вместо города ставить ".......", или вообще ничего.


Спасибо модератору за перенос топика.
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38457382
Сергей111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleСергей111список городовВ каком виде список?
Перечисление "Москва, Пенза, Казань" как конкатенция строк из нескольких записей в одну или в каждой строке выдачи по одному городу?

В каждой строке выдачи по одному городу.
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38457398
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей111,

что-то типа этого

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
select max(town1) as town1, max(town2) as town2, max(town3) as town3
from

(SELECT @i := @i + 1 AS row_number, Город as town1, null as town2, null as town3 
FROM T, (select @i:=0)
where Расстояние<10

union all

SELECT @i := @i + 1 AS row_number, null as town1, Город as town2, null as town3 
FROM T, (select @i:=0)
where Расстояние between 10 and 50

union all

SELECT @i := @i + 1 AS row_number, null as town1, null as town2, Город as town3 
FROM T, (select @i:=0)
where Расстояние>50) a

group by row_number
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38457426
Сергей111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwerty112Сергей111,

что-то типа этого

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
select max(town1) as town1, max(town2) as town2, max(town3) as town3
from

(SELECT @i := @i + 1 AS row_number, Город as town1, null as town2, null as town3 
FROM T, (select @i:=0)
where Расстояние<10

union all

SELECT @i := @i + 1 AS row_number, null as town1, Город as town2, null as town3 
FROM T, (select @i:=0)
where Расстояние between 10 and 50

union all

SELECT @i := @i + 1 AS row_number, null as town1, null as town2, Город as town3 
FROM T, (select @i:=0)
where Расстояние>50) a

group by row_number


Да, кажется должно работать. Спасибо, сей же час проверю.
...
Рейтинг: 0 / 0
Можно ли составить такой ?
    #38457654
Сергей111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwerty112

Спасибо огромное и всем остальным.
Немного с поправками но в целом верно.
Вот как получилось для двух колонок:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
select max(town1),max(town2) from
(
select row_number,town1, town2
from

(select @i := @i + 1 AS row_number, address as town1, null as town2
FROM roomservice, (select @i:=0) as c1
where coord_x<55.6) as t1

union all

(SELECT @j := @j + 1 AS row_number, null as town1, address as town2
FROM roomservice, (select @j:=0) as c2
where coord_x between 55.6 and 55.8)
) as b
group by row_number
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Можно ли составить такой ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]