Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.09.2016, 12:54
sasha753 sasha753 вне форума
Прохожий
 
Регистрация: 29.09.2016
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Возможно ли реализовать такой запрос в SQl? Если да, то как...

Приветствую всех
Сразу прошу сильно не ругать
Вопрос следующего характера:
Есть таблица с данными (пример LS), есть поля LS, STRIT_ID, DOM, DOMB, KV, KVB и есть переменные которые залетаю с другой таблицы, по которым нужно выбрать LS.
Проблема заключается в том, что в таблице два поля (DOM, DOMB), а в другой(откуда берутся переменные) одно сразу "174А", тоже и по квартире.
Как правильно и возможно ли оформить этот запрос...

По хорошему должно было быть так:
Код:
SELECT DISTINCT LS
FROM LS_LIST 
WHERE
(KV = 64)
 AND (KVB = 'Б')
 AND (STREET_ID = 78)
 AND (DOM_ID = 174)
 AND (DOM_BUKVA = 'А')

А нужно типо как-то так:
SELECT DISTINCT LS
FROM LS_LIST 
WHERE
(KV+KVB = '64Б')
 AND (STREET_ID = 78)
 AND (DOM_ID+DOM_BUKVA = '174А')
Админ: Пользуемся тегами при оформлении кода!

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

Последний раз редактировалось Admin, 29.09.2016 в 20:11.
Ответить с цитированием
  #2  
Старый 29.09.2016, 12:58
Zelius Zelius вне форума
Прохожий
 
Регистрация: 25.05.2009
Сообщения: 6
Репутация: 10
По умолчанию

а почему (KV+KVB = '64Б') не работет?
Ответить с цитированием
  #3  
Старый 29.09.2016, 13:02
sasha753 sasha753 вне форума
Прохожий
 
Регистрация: 29.09.2016
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Zelius
а почему (KV+KVB = '64Б') не работет?
KV - short
kvb - char
ругается...
Ответить с цитированием
  #4  
Старый 29.09.2016, 13:51
sasha753 sasha753 вне форума
Прохожий
 
Регистрация: 29.09.2016
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Всё, разобрался (спасибо подсказали где пакопатся), возможно кому-то пригодиться:

http://www.sql-tutorial.ru/ru/book_concat_function.html

У меня вышло так:
Код:
SELECT DISTINCT LS_ID
FROM LS_LIST
WHERE
(STREET_ID = 78)
AND (cast(DOM_ID||DOM_BUKVA as char(10)) = '174А')

Последний раз редактировалось Admin, 29.09.2016 в 20:12.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:06.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter