powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите объеденить две таблицы
15 сообщений из 15, страница 1 из 1
Помогите объеденить две таблицы
    #39252328
olga.a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
У меня есть две таблицы-представления "Товары в заказе" (qdfDetailedGoods.) и "Услуги в заказе" (qdfDetailedServices). Поля в них одинаковые, и есть одно объединяющее поле "Код заказа" (OrderIDCalc). Мне надо объединить эти две таблицы по полям, чтобы на выходе получилось как на рисунке 1.
Написала запрос:
SELECT qdfDetailedGoods.Component, qdfDetailedGoods.ComponentSize, qdfDetailedGoods.Quantity, qdfDetailedServices.Component, qdfDetailedServices.ComponentSize, qdfDetailedServices.Quantity FROM qdfDetailedGoods INNER JOIN qdfDetailedServices ON qdfDetailedServices.OrderIDCalc = qdfDetailedGoods.OrderIDCalc WHERE qdfDetailedServices.OrderIDCalc = 2 AND qdfDetailedGoods.OrderIDCalc = 2
но получается какая-то ерунда, в первую часть таблицы, та которая с товарами попадают записи дублируясь столько раз сколько записей во второй таблице которая с услугами. И то же самое со второй частью таблицы.
...
Рейтинг: 0 / 0
Помогите объеденить две таблицы
    #39252334
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объединение таблиц бессмысленно - нет общего поля для объединения. Впрочем, можно пронумеровать записи иобъединить по этому номеру.
...
Рейтинг: 0 / 0
Помогите объеденить две таблицы
    #39252338
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olga.a,
хотите получить нечто подобное, но разное количество полиций в под-столбцах
Н-ЗАКАЗТОВАРУСЛУГИНАИМЕНОВАНИЕРАЗМКОЛНАИМЕНОВАНИЕРАЗМКОЛ1КРАСКАПРОМЫВКА1КИСТИШПАКЛЕВАНИЕ1ШПАКЛЕВКАОКРАСКА1УБОРКА2КРАСКАПРОМЫВКА2КИСТИШПАКЛЕВАНИЕ2ШПАКЛЕВКАОКРАСКА2ОЛИФАУБОРКА2ЕЩЕ ЧТО-ТО
...
Рейтинг: 0 / 0
Помогите объеденить две таблицы
    #39252339
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olga.a,

я вижу только программное решение, не запросами
...
Рейтинг: 0 / 0
Помогите объеденить две таблицы
    #39252342
olga.a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaОбъединение таблиц бессмысленно - нет общего поля для объединения. Впрочем, можно пронумеровать записи иобъединить по этому номеру.

Есть же общее поле OrderIDCalc
...
Рейтинг: 0 / 0
Помогите объеденить две таблицы
    #39252352
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olga.a.... Поля в них одинаковые...Прощай НОРМАЛИЗАЦИЯ. Упокойся с миром.
...
Рейтинг: 0 / 0
Помогите объеденить две таблицы
    #39252354
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в обоих таблицах есть уникальное поле, например счетчик, то можно на основе счетчика (пусть для определенности будет id) и OrderIDCalc сотворить общее поле для обоих таблиц и привязываться к нему. Запрос типа такого
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT qdfDetailedGoods.Component, qdfDetailedGoods.ComponentSize, 
qdfDetailedGoods.Quantity, qdfDetailedServices.Component, 
qdfDetailedServices.ComponentSize, qdfDetailedServices.Quantity 
FROM qdfDetailedGoods, qdfDetailedServices,
(select OrderIDCalc & "_" & id As f from qdfDetailedGoods 
union
select OrderIDCalc & "_" & id As f from qdfDetailedServices order by 1) z,
z left join qdfDetailedGoods (on z.f=qdfDetailedGoods.OrderIDCalc & "_" & qdfDetailedGoods.id),
z left join qdfDetailedServices (on z.f=qdfDetailedServices.OrderIDCalc & "_" & qdfDetailedServices.id)
WHERE qdfDetailedServices.OrderIDCalc = 2 AND qdfDetailedGoods.OrderIDCalc = 2


Этот запрос фактически более примитивный вариант нумерации записей, предложенного Акиной. Если счетчики не совпадают, то будут сдвиги записей. Но декартового умножения записей не будет
...
Рейтинг: 0 / 0
Помогите объеденить две таблицы
    #39252453
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olga.aЕсть же общее поле OrderIDCalcПодумаешь... поле Quantity по этой твоей "логике" тоже общее - чего по нему-то не связываешь, а?
...
Рейтинг: 0 / 0
Помогите объеденить две таблицы
    #39252514
Integrator2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В этих двух таблицах наверняка есть поле код заказа или номер. Просто девушка наверное, не упомянула об этом, посчитав эту информацию неважной. По этому полю и можно объединить и сделать FULL JOIN
Иначе, да - фейковое поле что-то типа "Номер порядковый".
...
Рейтинг: 0 / 0
Помогите объеденить две таблицы
    #39252520
Integrator2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А кстати - OrderIDCalc
...
Рейтинг: 0 / 0
Помогите объеденить две таблицы
    #39252532
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Integrator2В этих двух таблицах наверняка есть поле код заказа или номер. Просто девушка наверное, не упомянула об этом, посчитав эту информацию неважной.Упомянула - посмотри текст её запроса. Просто ей не хватило (чего-то), чтобы оформить запрос в тегах кода...
Но из её сообщения также можно понять, что ни в какой из таблиц это поле не является уникальным - посему оно не подходит для требуемого связывания.
...
Рейтинг: 0 / 0
Помогите объеденить две таблицы
    #39252557
\\\\
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
olga.a, а для чего этот запрос? Что далее будет с этими данными? Возможно ответив на эти вопросы, получишь простое альтернативное решение.

Мне кажется, этот запрос служит для какого-то просмотра данных...
...
Рейтинг: 0 / 0
Помогите объеденить две таблицы
    #39252599
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простое решение - две субформы (или два суботчёта) на основной форме (отчёте). При условии, что нет необходимости выравниваться по группам.
...
Рейтинг: 0 / 0
Помогите объеденить две таблицы
    #39252870
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olga.aЗдравствуйте.
У меня есть две таблицы-представления "Товары в заказе" (qdfDetailedGoods.) и "Услуги в заказе" (qdfDetailedServices). Поля в них одинаковые, и есть одно объединяющее поле "Код заказа" (OrderIDCalc). Мне надо объединить эти две таблицы по полям, чтобы на выходе получилось как на рисунке 1.
Написала запрос:

Пока не поздно сделайте всё по-людски (а не через ...- ) - засуньте всё в одну таблицу и поставьте признак в строке, например 1- товар, 2- Услуга, тогда всё станет всё с головы на ноги:
- в заказе по номеру заказа будет всё, причем можно сгруппировать по товарам и услугам отдельно с под итогами.
- в акт отбираем только услуги (признак=2)
- в другие документы - согласно требованиям заказчика (или то, или другое или всё вместе)...

П.С.
(а не через ...- ) тут имеется ввиду, что ...- это в азбуке Морзе буква Ж (так расшифровало сегодня Авторадио)
одноименную песню Жасмин https://music.yandex.ru/album/3484650/track/29026667?from=serp
...
Рейтинг: 0 / 0
Помогите объеденить две таблицы
    #39253026
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaПростое решение - две субформы (или два суботчёта) на основной форме (отчёте). При условии, что нет необходимости выравниваться по группам.В отчетах можно и по группам выровнять,
если в отчете-контейнере сделать источником данных (в квадратных скобках необязательная? часть)
SELECT DISTINCT OrderIDCalc FROM qdfDetailedGoods [UNION ALL SELECT DISTINCT OrderIDCalc FROM qdfDetailedServices]
сделать в нем группировку по OrderIDCalc, и для подчиненных отчетов задать LinkChildField и LinkMasterFields как OrderIDCalc.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите объеденить две таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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