powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / объединение таблиц с разным количеством столбцов
25 сообщений из 48, страница 1 из 2
объединение таблиц с разным количеством столбцов
    #38657781
tromani
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
стоит такая задача
есть таблицы
1.emails
id
email
link_people
2.phones
id
ph_numb
link_people

как объединить эти две в одну так чтоб не было повторяющихся записей
допустим если у человека 2 емайла и один телефон чтоб это выглядело как два емайла и один телефон а другая клетка в столбце с телефоном была пустая
link_people в данном случае понятно равны
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38657787
СергейВП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tromani,

А зачем 2 таблицы? Не проще было в одной держать, добавив поле атрибута (0-телефон, 1-емайл).
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38657789
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tromaniкак объединить эти две в одну так чтоб не было повторяющихся записей
Это сложно, тут программист нужен.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38657792
tromani
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СергейВП,

не проще)
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38657793
tromani
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

программными средствами я знаю как это сделать, хотелось бы средствами SQL
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38657795
СергейВП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38657799
tromani
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СергейВП,

left\right join не помогло пробовал
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38657805
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tromaniхотелось
Обломайтисссс...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38658175
tromani
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
шо не ? никто ниче не подскажет? печалько однако
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38658184
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tromaniшо не ? никто ниче не подскажет? печалько однако
ты уж скажи зачем это
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38658202
tromaniесли у человека 2 емайла и один телефон чтоб это выглядело как два емайла и один телефон а другая клетка в столбце с телефоном была пустаяРыть надо в сторону http://www.firebirdsql.org/refdocs/langrefupd20-psql-declare.html#langrefupd20-psql-declare-cursor
(объявляете два курсора и в цикле фетчите их; решение на чистом SQL, через full join, будет крайне неэффективным).
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38658363
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tromaniшо не ? никто ниче не подскажет? печалько однаколабы надо делать самому.
Ваня Сусанинрешение на чистом SQL, через full join, будет крайне неэффективнымПаша, ты заработался. Какие нафиг кросс джойны? проход по таблице пиплов и 2 подзапроса селект(лист(...)...) прицепляющие сотв. почту и телефон из табличек почт и телефонов.
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38658550
tromani
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan_Pisarevsky,

так не катит

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select
  pl.id,
  pph.phn,
  pph.em
from
  peoples pl,
  (select list(ph.ph_numb) phn, eem.em
    from phones ph,
      (select list(em.email) em
       from emails em where em.link_subect=:lp) eem
    where ph.link_subect=:lp
    group by eem.em) pph
where
 pl.id=:lp



так выдает 1 строку с перечнями телефонов и мэйлов
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select
  pl.id,
  pph.phn,
  pph.email
from
  peoples pl,
  (select list(ph.ph_numb) phn, eem.email
    from phones ph,
      (select em.email
       from emails em where em.link_subect=:lp) eem
    where ph.link_subect=:lp
    group by eem.email) pph
where
 pl.id=:lp



так выдает нормально с мэйлами и напротив каждого мэйла перечень телефонов

мож я че не так делаю...
задачка то свиду простая)))
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38658573
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tromaniмож я че не так делаю...
Подзапрос не так пишешь. Тебе же сказали: ДВА подзапроса. Один на список телефонов,
второй - на список имейлов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38658660
tromani
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Dimitry Sibiryakov,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select
  pl.id,
  phh.phn,
  eem.eml
from
  peoples pl,
  (select list(ph.ph_numb) phn from phones ph where ph.link_subect=:lp) phh,
  (select list(em.email) eml   from emails em where em.link_subect=:lp) eem
where
 pl.id=:lp


так я тоже пробовал получается ОДНА строка, в одном столбце перечень мыл, в другой перечень телефонов
а надо
примерно так
|id| mail | phone |
-----------------------------
|1|bla-bla@mail.ru|17-20-15|
|1| |19-34-17|
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38658675
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
peoples ???
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38658683
tromani
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

что peoples??? таблица такая человеки по-русски
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38658690
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tromaniаблица такая человеки по-русски
Вообще-то по-русски это уже звучит как "народы". Обычная ошибка для чайников.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38658715
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
select
  pl.id,
  (select list(ph.ph_numb) from phones ph where ph.link_subect=pl.id) as phone,
  (select list(em.email) from emails em where em.link_subect=pl.id)  as eml
from
  peoples pl
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38658816
Ivan_Pisarevskyпроход по таблице пиплов и 2 подзапроса селект(лист(...)...)Откудова взялась таблица 'peoples' ?
К тому же, афтар не говорил ничего про сцепление телефонов/майлов в одну строку, ему надо "пустые клетки " для случая, когда телефонов больше, чем мыл (или наоборот).
2tromani: потрудись выложить в нормальном виде DDL всех таблиц, участвующих в задаче. А также потрудись показать результат, который нужен. ЧИТАТЬ__ВСЕМ,__КТО__ПРИШЕЛ__СЮДА__В__ПЕРВЫЙ__РАЗ! Если у Вас возникли проблемы с написанием некого запроса (сложные группировки, связи нескольких таблиц и т.п.),то крайне желательна следующая формулировка вопроса:
1. Точная версия сервера.
2. Словесное описание проблемы.
3. DDL всех участвующих в запросе объектов БД в виде скрипта.
4. Немного данных, опять таки в виде скрипта, достаточных чтобы понять логику работы.
5. Ваши попытки.
6. Желаемый результат в виде таблички.

Если пункты 3-6 получаются объемными, то используем тэг spoiler. Если для понимая сути проблемы требуется достаточно большой набор исходных данных, скрипт можно сархивировать и приложить как аттач к сообщению.
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38658839
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ваня СусанинОткудова взялась таблица 'peoples' ?Мой ХШ подсказал, что она есть в методичке к лабе.
Ваня Сусанинафтар не говорил ничего про сцепление телефонов/майлов в одну строкуИз прочтения мной первого поста не следует запрета на "лист()".
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38659028
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38659144
tromani
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan_PisarevskyВаня СусанинОткудова взялась таблица 'peoples' ?Мой ХШ подсказал, что она есть в методичке к лабе.
Ваня Сусанинафтар не говорил ничего про сцепление телефонов/майлов в одну строкуИз прочтения мной первого поста не следует запрета на "лист()".

теперь почитай первый пост мой
если есть link_people то я так подозреваю что для всех тех кто мне в состоянии помочь решить задачу в достаточной мере очевидно что таблицы EMAILS и PHONES не существуют сами по-себе а каким-то образом связаны с какойто внешней таблицей и не надо иметь семи пядей во лбу чтоб понять что она созвучна с people... термин человеки можно рассматривать как всеобемлющее понятие относящиеся к людям вообще так что пиплз тут уместен эти ответа на ваши вопросы к вопросу чайниках

теперь насчет лабы\нелабы тут нет никакой лабы просто есть задача которая может быть решена либо от решения которой можно отказаться в принципе без особых потерь для общего результата. есть просто желание решить.

иван сусанин (простите не знаю как вас звать) правильно все понял
на выходе должен быть результат с колонкой мэйлов и колонкой телефонов причем количество строк в таблице должно соответствовать максимальному количеству либо мэйлов либо телефонов остальные клетки должны быть пусты мне казалось это очевидно с первого поста
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38659147
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tromaniна выходе должен быть результат с колонкой мэйлов и колонкой телефонов
причем количество строк в таблице должно соответствовать максимальному количеству либо
мэйлов либо телефонов остальные клетки должны быть пусты мне казалось это очевидно с
первого поста
Перечитай мои первые два ответа. Ими всё сказано.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
объединение таблиц с разным количеством столбцов
    #38659149
tromani
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan_Pisarevsky,

да и написанный вами запрос в отличие от моего больше смахивает на чайниковский ибо писать select ... select ...from признак дурного тона... не чайники пишут объединения в разделе from ... select дабы нормально использовать поля в разделах where ... order и т.д. ну исходя хотябы из последовательности выполнения запроса
...
Рейтинг: 0 / 0
25 сообщений из 48, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / объединение таблиц с разным количеством столбцов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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