Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2019, 11:16   #1
iskurt
Форумчанин
 
Регистрация: 02.06.2009
Сообщений: 228
По умолчанию Подскажите правильный запрос с логикой

Всем добрый день.
Уважаемые знатоки, подскажите как правильно составить запрос чтобы данные выводились?
Ситуация следующая:
Есть код с запросом
Код:
  With ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.add('SELECT');
    SQL.add('main_t.id_main, login, date, main_t.b_time, main_t.e_time, units_t.unit, contrs_t.contrs, main_t.comments');
    SQL.add('FROM main_t');
    SQL.add('JOIN users_t ON (id_users=main_t.id_logins)');
    SQL.add('JOIN contrs_t ON (main_t.id_contr=contrs_t.id_contrs)');
    SQL.add('JOIN units_t ON (main_t.id_units=id_unit)');
    SQL.add('ORDER BY date, main_t.b_time;');
    Active := True;
  end;
В ДБГрид данные выводятся... но как оказалось не все!
Если main_t.id_unit или main_t.id_contr пустое (по этим полям созданы внешние ключи), то данные в ДБГрид не попадают. А они нужны!
Подскажите как же правильно составить запрос, при условии что на внешних ключах пусто!
iskurt вне форума Ответить с цитированием
Старый 25.02.2019, 11:25   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

вместо Inner Join используйте LEFT JOIN
получите все записи, даже те, для которых нет значений во внешней таблице.

(например, читать - https://stackoverflow.com/questions/...-and-full-join)

Последний раз редактировалось Alex11223; 06.05.2019 в 17:26.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.02.2019, 11:30   #3
iskurt
Форумчанин
 
Регистрация: 02.06.2009
Сообщений: 228
По умолчанию

Спасибо!!!, когда читал - не до конца разобрался что такое LEFT и RIGHT - а в этой статье отлично расписано - у меня все получилось!!!

Последний раз редактировалось Alex11223; 06.05.2019 в 17:25.
iskurt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать код сайта когда кликаешь блок в блоке квадратики круги, правильный или не правильный ответ, понять как он работает и как определять где правильный ответ bule Помощь студентам 19 12.08.2016 10:05
Правильный SQL запрос. prizrak1390 БД в Delphi 3 26.06.2013 08:35
Правильный ли SQL запрос? helpkz SQL, базы данных 10 29.03.2013 17:59
Подскажите правильный RewriteRule (.htaccess) Dj_smart PHP 10 11.01.2009 23:43
Подскажите правильный запрос c группировкой frostyland Microsoft Office Access 2 03.09.2008 10:22