powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Использование справочников
7 сообщений из 7, страница 1 из 1
Использование справочников
    #36798801
Sonic-X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос №1
Есть таблица справочник стран Пример:
1). Код страны
2).Название страны
Есть вторая таблица "Приходящий остаток разрешений", поля
1).Код Типа
2).Код Страны
Есть третья таблица "Выдача разрешений", поля
1). Код Типа
2).Код Страны
Есть четвертая таблица "Тип разрешения":
1).Код типа
2)Название типа
У нас получается что эжти таблицы ссылаются друг на друга, правильно ли это?(я думаю неправильно), и как мне настроить ключи в таком случае?(Возможно нужно приводить эти отношения к промежуточной таблице, но тогда я незнаю как мне писать в БД и каким SQL запросом извлекать правильные данные).
2-й Вопрос:
Таблица, поля :
1).Сотрудник создавший запись
2).Сотрудник внесший коррекцию
Вторая таблица - сотрудники:
1).Код сотрудника
2).Ф.И.О. Сотрудника(разумеется без точек)
Как мне получить запись :
Сотрудник создавший запись|Administrator|Сотрудник внесший коррекцию|Иванов
Как не пытаюсь получить искомое или ничего или 2 одинаковых пользователя, хотя коды разные, или это невозможно?
Заранее спасибо за ответы.
...
Рейтинг: 0 / 0
Использование справочников
    #36799105
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sonic-X Вопрос №1Если предположить что код типа - это разные поля с одинаковыми наименованиями являющимися первичными ключями для таблиц "Приходящий остаток разрешений", "Выдача разрешений", "Тип разрешения" , а код страны это первичный ключ для таблицы "справочник стран" то все в порядке.
Если предположение неверно и код типа это первичный ключ для таблицы "Тип разрешения", а таблицы "Приходящий остаток разрешений", "Выдача разрешений" имеют свой собственные первичные ключи типа "Приходящий остаток разрешений"_id и "Выдача разрешений"_id а код типа это просто ссылка на "Тип разрешения" то тоже все в порядке.
Если же мой хрустальный шар замутился то я попрошу топикстартера подробнее описать задачу.
Sonic-X но тогда я незнаю как мне писать в БД и каким SQL запросом извлекать правильные данные)Кто бы догадался что вы хотите и какие данные считаете правильными
Sonic-X Как мне получить запись
Код: plaintext
1.
2.
select * from myTable a
 join users b on a.updatedBy=b.user_id
 join users c on a.insertedBy=c.user_id
...
Рейтинг: 0 / 0
Использование справочников
    #36799879
Sonic-X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257Если предположение неверно и код типа это первичный ключ для таблицы "Тип разрешения", а таблицы "Приходящий остаток разрешений", "Выдача разрешений" имеют свой собственные первичные ключи типа "Приходящий остаток разрешений"_id и "Выдача разрешений"_id а код типа это просто ссылка на "Тип разрешения" то тоже все в порядке.
Все как Вы и сказали, у них свои первичные ключи, ну тут понятно мне все.

SERG1257Кто бы догадался что вы хотите и какие данные считаете правильными

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

Sonic-X Как мне получить запись

Код: plaintext
1.
2.
select * from myTable a
 join users b on a.updatedBy=b.user_id
 join users c on a.insertedBy=c.user_id

Извините, забыл уточнить что все это делается в MS Access, а такой запрос там непрокатывает, можно както другим запросом?, я пишу так:
Код: plaintext
1.
2.
SELECT Таблица2.[ФИО Сотрудника] AS userscreated, Таблица2.[ФИО Сотрудника] AS userscorrected, Таблица1.[Дата] и т.д.
FROM Таблица1 INNER JOIN Таблица2 ON Таблица1.[Сотрудник создавший запись] = Таблица2.ID
WHERE Таблица1.[Сотрудник корректировавший запись]=[Таблица2].[ID]
невыводит ничего.
...
Рейтинг: 0 / 0
Использование справочников
    #36800873
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
SELECT
 a.[ФИО Сотрудника] AS userscreated, b.[ФИО Сотрудника] AS userscorrected, Таблица1.[Дата]
 и т.д. 
FROM Таблица1
INNER JOIN Таблица2 as a ON Таблица1.[Сотрудник создавший запись] = a.ID
INNER JOIN Таблица2 as b ON Таблица1.[Сотрудник корректировавший запись]=b.[ID]
Детский сад штаны на лямках.
...
Рейтинг: 0 / 0
Использование справочников
    #36801142
Sonic-X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я мож канечно и дятел, но некак не пойму почему мне Access выдает
Ошибка синтаксиса (пропущен оператор) в выражении запроса 'Таблица1.[Сотрудник создавший запись]=Таблица2.ID INNER JOIN Таблица2 as Таблица2 ON Таблица1.[Сотрудник корректировавший запись]=Таблица2.ID.
Не судите строго, я только учусь.
...
Рейтинг: 0 / 0
Использование справочников
    #36801151
Sonic-X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257
Код: plaintext
1.
2.
3.
4.
5.
SELECT
 a.[ФИО Сотрудника] AS userscreated, b.[ФИО Сотрудника] AS userscorrected, Таблица1.[Дата]
 и т.д. 
FROM Таблица1
INNER JOIN Таблица2 as a ON Таблица1.[Сотрудник создавший запись] = a.ID
INNER JOIN Таблица2 as b ON Таблица1.[Сотрудник корректировавший запись]=b.[ID]


Тоесть такая конструкция не прокатывает, это на MS SQL Serwer такое катит, а на аксесе нет, т.к. это "полубаза"
...
Рейтинг: 0 / 0
Использование справочников
    #36803291
Sonic-X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот запрос работающий в Access
Код: plaintext
1.
2.
3.
SELECT a.[ФИО Сотрудника] AS userscreated, b.[ФИО Сотрудника] AS userscorrected, Таблица1.[Другие данные]
FROM 
  (Таблица1 INNER JOIN Таблица2 as a ON Таблица1.[Сотрудник создавший запись] = a.ID)
  INNER JOIN Таблица2 as b ON Таблица1.[Сотрудник корректировавший запись]=b.ID

SERG1257
Спасибо за пинок в нужном направлении.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Использование справочников
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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