0 / 0 / 0
Регистрация: 05.02.2017
Сообщений: 36

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

03.03.2017, 15:54. Показов 2506. Ответов 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 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
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
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,684
Записей в блоге: 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
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,684
Записей в блоге: 21
04.03.2017, 01:45
сдублили тему
https://www.cyberforum.ru/delp... st10174645
0
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru