Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 05.02.2017
Сообщений: 36

Как сделать левое внешнее соединение?

03.03.2017, 15:54. Показов 2364. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть бд на Firebird в которой хранятся две таблицы, таблица национальностей (главная) и таблица людей (дочерняя). А также программа по работе с ней, сначала выводится главная форма, а через доступ к двум справочникам. В файлах приложен документ с кодом обоих форм (а также скрины этих форм). Мне нужно сделать при помощи левого внешнего соединения так, чтобы в таблице людей вместо(!) столбца кода национальностей был столбец названия национальности, чтобы каждого человеку соответствовала своя национальность, не знаю как это соединение сделать, не выходит почему то,
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.03.2017, 15:54
Ответы с готовыми решениями:

Как сделать соединение приложений и отправлять/принимать данные в обеих направлениях?
Такая трабла не могу разгребсти как с помощью компонентов tcpclient и tcpserver в 7 версии сделать соединение приложений послать и читать...

Возможно ли сделать внешнее левое соединение таблиц с помощью оператора where?
Доброго времени суток! Возможно ли сделать внешнее левое соединение с помощью оператора where? если да, то могли бы направить меня в какую...

Использование подзапроса, левое внешнее объединение, правое внешнее объединение
Помогите составить три данных запроса

33
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
04.03.2017, 00:51
Студворк — интернет-сервис помощи студентам
Что не так можно понять только по вновь выложенному проекту
0
0 / 0 / 0
Регистрация: 05.02.2017
Сообщений: 36
04.03.2017, 00:53  [ТС]
какому проекту и куда выложенному? да, я не понимаю, потому что кроме скринов ничего не выкладывалось, просто объясните где ошибка
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
04.03.2017, 00:57
Как я могу знать где ошибка? Телепатии не обучен.
Взгляните на свой первый пост - там есть вложение, называемое bd.rar. Это и есть выложенный проект вместе с базой данных. Кто-то же его выложил...
Вот именно это и требуется, только с последними изменениями.
0
0 / 0 / 0
Регистрация: 05.02.2017
Сообщений: 36
04.03.2017, 00:58  [ТС]
это мной вообще то выложен
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
04.03.2017, 01:01
Кто или что мешает сделать тоже самое сейчас? Только заархивировать заново.
0
0 / 0 / 0
Регистрация: 05.02.2017
Сообщений: 36
04.03.2017, 01:07  [ТС]
новый архив
Вложения
Тип файла: rar РљСѓСЂСЃРѕРІРѕР№ проект.rar (496.7 Кб, 1 просмотров)
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
04.03.2017, 01:18
Если менять программно текст запроса, то и получаем то что получаем...
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TFormMain2.FormShow(Sender: TObject);
begin
  FormFirst.DataSetWorker.Open;
{  FormFirst.DataSetWorker.SelectSQL.Clear;
   FormFirst.DataSetWorker.SelectSQL.Add
   ('SELECT * FROM Worker');
  FormFirst.DataSetWorker.Active := True;
  FormFirst.DataSetWorker.FetchAll;
}
  StatusBar1.Panels[1].Text := IntToStr(FormFirst.DatasetWorker.RecordCount);
  Application.OnHint := ShowHint;
end;
В этой процедуре менялся запрос оттого получали облом.

На будущее (хотя это и не отностися к проблеме): делать предварительные действия полагается в процедуре обрабатывающей событие OnCreate формы, а не OnShow.
0
пофигист широкого профиля
4770 / 3206 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
04.03.2017, 01:24
Цитата Сообщение от Kristina424 Посмотреть сообщение
У меня есть бд на Firebird в которой хранятся две таблицы, таблица национальностей (главная) и таблица людей (дочерняя).
Имхо, что-то не так в консерватории! С какого перепуга таблица-справочник является главной, а а таблица со списком людей - дочерней?
2 Скандербег
А если всё грамотно, то LEFT OUTER JOIN нужен чтобы вывести "весь список, пожалуйста", если не у всех работников заполнена графа "Национальность".
0
0 / 0 / 0
Регистрация: 05.02.2017
Сообщений: 36
04.03.2017, 01:27  [ТС]
значит нужно что то поменять в этом обработчике? К select нужно еще дописать?
0
 Аватар для krapotkin
6851 / 4677 / 1465
Регистрация: 14.04.2014
Сообщений: 20,676
Записей в блоге: 21
04.03.2017, 01:36
там уж больно много всего
файлы поименованы как попало
формы все в автосоздании
подключение к БД предполагает что она лежит в конкретном месте на диске D
Поля в селекте лучше бы перечислить конкретно, да и создать в Field editor не мешает

объяснять, как делаются SQL запросы, нет смысла
Вложения
Тип файла: zip Программа_1.zip (1.31 Мб, 3 просмотров)
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
04.03.2017, 01:39

Не по теме:

northener, мы что будем лечить человека, который лишен элементарных знаний?
И в том и в другом, вы правы, но что толку от того? Или вы хотите здесь открыть курсы по ликвидации элементарной безграмотности?



Добавлено через 2 минуты
Kristina424, если каждому человеку в таблице соответствует национальность (а именно так и есть в представленной базе), то ничего добавлять не надо - наименование национальности в гриде будет отображаться.

Добавлено через 2 минуты
Даже если добавть LEFT JOIN (вместо JOIN), то ничего не изменится при той ситуации, которая сейчас есть в базе.
0
 Аватар для krapotkin
6851 / 4677 / 1465
Регистрация: 14.04.2014
Сообщений: 20,676
Записей в блоге: 21
04.03.2017, 01:45
сдублили тему
https://www.cyberforum.ru/delp... st10174645
0
пофигист широкого профиля
4770 / 3206 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
04.03.2017, 02:26
Цитата Сообщение от Скандербег Посмотреть сообщение
northener, мы что будем лечить человека, который лишен элементарных знаний?
И в том и в другом, вы правы, но что толку от того? Или вы хотите здесь открыть курсы по ликвидации элементарной безграмотности?
Ну я лично не хочу. Просто считаю это бесполезным. Этого хотят хозяева сего форума, от имени и по поручению которых "глаголят" модераторы. Иногда внятно, иногда с "бодуна", иногда вообще не понятно что они хотят.
Ну и главное. Я не смотрел базу ТС. Я среагировал только на
Цитата Сообщение от Скандербег Посмотреть сообщение
Двойка этому преподавателю
Преподаватели действительно нынче очень часто хреновые, но тут он прав. Опять же если грамотно проектировать БД.
0
0 / 0 / 0
Регистрация: 05.02.2017
Сообщений: 36
04.03.2017, 03:16  [ТС]
это плохо что она лежит на диске D? Так это не моя прихоть, нам дали инструкцию определенную с фрагментами кода, с подробным описанием, чтобы мы все сделали по образцу, на словах нам ничего не объясняли, и отклоняться от этой инструкции нам запретили, чтобы у всех все было одинаково. и логика программы и самое главное оформление, если кто то будет придумывать самодеятельность, работу не примут! я к тому веду, что не все от меня зависит, и ваше оформление в новом файле мне к сожалению не подойдет, спасибо конечно за помощь, ну тут уже ничего не сделаешь, как есть так и есть...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.03.2017, 03:16
Помогаю со студенческими работами здесь

Левое соединение в запросах 1С.
Добрый день! Что-то никак не разберусь. Думала, что поняла, а фиг. Мне нужно запросом вытащить ВСЕХ сотрудников и если есть по ним...

Запрос: Левое соединение
Добрый день! Подскажите почему не работает левое соединение, выводит только те лицевые счета где был создан документ, а мне нужно чтобы еще...

Левое соединение двух таблиц
Форумчане, нужен совет. Как правильно сделать соединение двух таблиц. Что бы получилось так: |Контрагент|Сделка|Номенклатура| ...

Сложное левое соединение двух таблиц
Доброго времени суток форумчане! Вопрос вот в чем. Хочу в запросе выбрать таблицу1 и к ней левым соединение таблицу2. В чем сложность,...

Внутреннее и внешнее соединение
Внутреннее и внешнее соединение.Почему они так называются?


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

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Новые блоги и статьи
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано. . . .
Как я стал коммунистом))) Модель сохранения здоровья сотрудников, запись блога номер 15
anaschu 23.05.2026
Внезапно хорошее здоровье сотрудников не нужно капиталистам?))
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
Диалоги с ИИ
zorxor 23.05.2026
Насколько я понимаю - Вы - Искусственный Интеллект. Это так? Да, всё верно. Я — искусственный интеллект. Я представляю собой большую языковую модель, созданную для помощи в самых разных задачах. . . .
Модель здравосохранения 14. Собираем всю модель вместе.
anaschu 22.05.2026
Модель собрана. В будущих постах на видео я покажу, как она работает. В этом посте запускаем её, проверяем результаты и разбираем что можно с ней делать дальше. Перед запуском проверяем. . .
Модель здравоохранения 13. Добавление самой системы здравоохранения.
anaschu 22.05.2026
В предыдущем посте мы настроили болезни. Теперь добавим события, которые управляют здоровьем всего коллектива, а также настроим рабочий график и расчёт финансов. В Main создаём четыре события. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru