|
|
|
SQL фильтр
|
|||
|---|---|---|---|
|
#18+
Есть таблица сотрудники! надо по запросу вывести сотрудников, родившихся в один год Таблицу отображаю с ADOQuery1 Как можно это реализовать с SQL Запросом ? Модератор: Тема перенесена из форума "C++". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 22:32 |
|
||
|
SQL фильтр
|
|||
|---|---|---|---|
|
#18+
Newseva, Пишу программу на С++ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 22:55 |
|
||
|
SQL фильтр
|
|||
|---|---|---|---|
|
#18+
Newseva, Если вопрос в написании SQL запроса - то ищите мануалы по SQL, лучше сразу с описанием особенностей используемого сервера. А так в общем случае это: select [список полей через запятую] from [имя таблицы] where [условия отбора записей] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2015, 05:39 |
|
||
|
SQL фильтр
|
|||
|---|---|---|---|
|
#18+
Newseva, Для начала надо озвучить хотя бы структуру таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2015, 11:24 |
|
||
|
SQL фильтр
|
|||
|---|---|---|---|
|
#18+
вот запрос ADOQuery1->Close(); ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add("Select * from people WHERE DateOfBirth LIKE '"+Edit1->Text+"%' ORDER BY DateOfBirth"); ADOQuery1->Open(); Но он выводит только целиком Одинаковые дата,месяц и год ! А мне надо только все где одинаковые года? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2015, 13:08 |
|
||
|
SQL фильтр
|
|||
|---|---|---|---|
|
#18+
Newseva, 1. Какой сервер используешь? 2. DateOfBirth - какой тип данных? В общем надо из DateOfBirth корректно выделить год и сравнить с заданным. Способ выделения (используемая функция) может различаться в зависимости от сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2015, 13:36 |
|
||
|
SQL фильтр
|
|||
|---|---|---|---|
|
#18+
Barkan, база в Microsoft Access тип поля Дата/время ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2015, 13:52 |
|
||
|
SQL фильтр
|
|||
|---|---|---|---|
|
#18+
Newseva, 1) Поищи в MSAccess функцию, которая может из поля DateTime извлечь только год. Т.е. будет что-то вроде: Select * from people WHERE ExtractYear(DateOfBirth)=:USERYEAR ORDER BY DateOfBirth 2) Используй параметры 3) Искать (фильтровать) числовое значение по LIKE - это из области проктостоматологии 4) Пихать в текст SQL запроса то, что понавводил пользователь без проверок - гарантированные грабли. Вот введут тебе в поле "Год" строку "год синей козы" - чего делать будешь?-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2015, 14:46 |
|
||
|
SQL фильтр
|
|||
|---|---|---|---|
|
#18+
NewsevaADOQuery1->SQL->Add("Select * from people WHERE DateOfBirth LIKE '"+Edit1->Text+"%' ORDER BY DateOfBirth"); Но он выводит только целиком Одинаковые дата,месяц и год ! А мне надо только все где одинаковые года? Спасибо! Код: sql 1. где startOfYear и endofYear - даты начала и конца года ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2015, 15:58 |
|
||
|
SQL фильтр
|
|||
|---|---|---|---|
|
#18+
Ох уж эти любители конкатенаций. Не забудьте новичку рассказать про инжекции. Хотя для Акцесса может оно и пофигу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2015, 16:00 |
|
||
|
SQL фильтр
|
|||
|---|---|---|---|
|
#18+
maytonНе забудьте новичку рассказать про инжекции. Хотя для Акцесса может оно и пофигу. Новичок, прочитай про инжекции . Теперь тебе придется переписать весь, код, потому, что если кто-то сломает базу данных, через эту дырку, то ты не сможешь, сказать, что не знал! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2015, 00:23 |
|
||
|
SQL фильтр
|
|||
|---|---|---|---|
|
#18+
WebSharperNewsevaADOQuery1->SQL->Add("Select * from people WHERE DateOfBirth LIKE '"+Edit1->Text+"%' ORDER BY DateOfBirth"); Но он выводит только целиком Одинаковые дата,месяц и год ! А мне надо только все где одинаковые года? Спасибо! Код: sql 1. где startOfYear и endofYear - даты начала и конца года Или так: Код: plaintext 1. Некоторые могут сказать, что это не совсем "по-феншую", так как "сущность" [DateOfBirth] претерпевает преобразование, что может значительно увеличить время работы запроса. Но в случае таблиц до 10000 - 100000 строк, этим можно пренебречь. В общем, на Ваше усмотрение но, злоупотреблять этим не стоит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2015, 23:43 |
|
||
|
SQL фильтр
|
|||
|---|---|---|---|
|
#18+
Эмоции, Спасибо! именно то!!! что я хотел ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2015, 11:02 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38854162&tid=1341114]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 294ms |

| 0 / 0 |
