Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
 Аватар для MrHitman47
35 / 35 / 4
Регистрация: 23.05.2011
Сообщений: 201
Записей в блоге: 1

Как в Access сделать Join по двум и более полям

11.10.2011, 21:11. Показов 4433. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как в Аксесе сделать Join по 2+ полям???

Добавлено через 5 часов 4 минуты
вот вроде нащупал, только как то работает не так как надо:

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
SELECT sortament.strSortament AS Sortament,
       sortament.strGOST AS SortamentGOST,
       material.strMaterial AS Material,
       material.strGOST AS MaterialGOST,
       SUM(tesh_spec.fNorm) AS SumWeight,
       SUM(NULL) AS SumCount,
       SUM(material_price.fLInKg)*SumWeight AS fLInKg,
       SUM(material_price.fMMRInKg)*SumWeight AS fMMRInKg,
       SUM(material_price.fMMInKg)*SumWeight AS fMMInKg
FROM (((Contract LEFT JOIN tesh_spec ON Contract.Id=tesh_spec.IdContract)
     LEFT JOIN material ON tesh_spec.IdMaterial=material.Id)
     LEFT JOIN sortament ON tesh_spec.IdProfile=sortament.Id)
     LEFT JOIN material_price ON (IIF(ISNULL(tesh_spec.idName),0,tesh_spec.idName)=IIF(ISNULL(material_price.idName),0,material_price.idName))AND
                                 (IIF(ISNULL(tesh_spec.idMaterial),0,tesh_spec.idMaterial)=IIF(ISNULL(material_price.idMaterial),0,material_price.idMaterial))AND
                                 (IIF(ISNULL(tesh_spec.idProfile),0,tesh_spec.idMaterial)=IIF(ISNULL(material_price.idProfile),0,material_price.idProfile))
WHERE (Contract.IsSelected=TRUE)AND
      (tesh_spec.IsDeleted=FALSE)AND
      (NOT ISNULL(tesh_spec.idMaterial))AND
      (NOT ISNULL(tesh_spec.idProfile))AND
      (sortament.strSortament <>'Отл.')AND
      (sortament.strSortament <>'Поковка')
GROUP BY sortament.strSortament,
         sortament.strGOST,
         material.strMaterial,
         material.strGOST
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.10.2011, 21:11
Ответы с готовыми решениями:

Join в Linq по двум полям. OR
Есть два списка: List&lt;dynamic&gt; list1 = new List&lt;dynamic&gt;(); list1.Add(new { A = 1, B = 2 }); ...

Объединение в Access более трех inner join
что ни делал - не выходит! правильный синтаксис такой: SELECT * FROM (((cards1 INNER JOIN themes ON themes.id = cards1.tid) INNER...

Как задать уникальность по двум полям
есть поля 1 - id (ид) 2 - id_user (ид пользователя) 3 - date_r (дата) как сделать так чтобы при инсерте нельзя добавить две...

4
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
12.10.2011, 03:02
Цитата Сообщение от MrHitman47 Посмотреть сообщение
Как в Аксесе сделать Join по 2+ полям???
T-SQL
1
FROM t1 INNER JOIN t2 ON (t1.pole1 = t2.po1) AND (t1.pole1 = t2.po2)
1
 Аватар для AccoRd
4 / 4 / 0
Регистрация: 19.10.2010
Сообщений: 66
24.02.2012, 22:54
не знаю куда писать, наверное вопрос всё таки про join
имеется таблица tmp_stat
c_data - employee - user_done
01.02.2012 - иванов и и - козлов
02.02.2012 - иванов и и - козлов
03.02.2012 - иванов и и - козлов
04.02.2012 - иванов и и - козлов
01.02.2012 - петров п п - белкин
02.02.2012 - петров п п - белкин
03.02.2012 - петров п п - лисицин
04.02.2012 - петров п п - белкин

вторая таблица anketa
id_employee - employee - user_done
1 - иванов и и - 100
2 - петров п п - 101

третья таблица extra
number - name_group - info
100 - ns - козлов к к
101 - ns - белкин б б
102 - ns - лисицин л л

мне нужно выборкой вывести таблицу tmp_stat, но вместо петровых ивановых белкиных лисициных выводить их индексы, которые записаны в двух других таблицах.

я мудрил... мой запрос в access 2003 говорит, что вложенный запрос не должен выводить более одной записи, а access 2007 выполняет его "без ошибок", но выводит мне петровых в два раза больше за каждую дату и с белкиным и с лисициным:
SQL
1
2
3
4
SELECT anketa.id_employee, tmp_stat.c_date, tmp_stat.count, tmp_stat.employee, extra.info, tmp_stat.user_done, extra.number
FROM anketa, tmp_stat INNER JOIN extra ON extra.info LIKE tmp_stat.user_done & "*"
WHERE (((tmp_stat.employee)=anketa_okv.employee) AND ((extra_manual.name_group)="ns"))
ORDER BY tmp_stat.employee, tmp_stat.c_date;
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
25.02.2012, 05:08
вы бы пример в mdb выложили и уточните о каких именно индексах речь идёт? Со второй user_done, а что с третьей?
0
 Аватар для AccoRd
4 / 4 / 0
Регистрация: 19.10.2010
Сообщений: 66
25.02.2012, 17:33
в третьей таблице number это индекс начальника
во второй таблице id_employee это индекс работников, user_done это его начальник
в первой таблице число, работник и начальник только текстом, надо извлечь всю таблицу, но подставить вместо текста индексы
и ещё в таблице с начальниками фамилия имя и отчество указаны полностью, а в первой таблице только фамилия
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.02.2012, 17:33
Помогаю со студенческими работами здесь

Как привязать onclick к двум полям ввода?
При разработке todolist есть поле для ввода дела, которое добавляется в список, как связать кнопку добавить , чтобы еще добавлялась дата...

Выбор по двум полям. Как такое может быть?
Таблица состоит из нескольких полей, при этом поля id и id_new типа int. Делаю запрос SELECT * FROM `obj_types_Apk_activity` WHERE...

Как отсортировать список по двум полям и оба поля по убыванию?
Как отсортировать список по двум полям и оба поля ( и Pole1 и Pole2) по убыванию? В данном случае Pole1 по убыванию, а Pole2 по...

База данных кулинария. Как привязать два выплывающих списка к двум полям
Всем привет! в форме main не могу разобраться как привязать два выплывающих списка и два поля.. в первом разделы во втором название ...

join по неравным полям
Доброе утро! Когда мы используем join далее мы пишем равенство полей (по которым объединять будем): select * from table1 inner join...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru