Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Подскажите хитрую SQL-выборку по дате/DOW() из 3х таблиц
|
|||
|---|---|---|---|
|
#18+
Привет! Есть 2 таблицы с одинаковой структурой: settings_workdays и custom_workdays. В обоих есть поля WDate типа DateTime и WDuration(int). В таблице settings_workdays есть 5 записей с датой от 2001 года, с 1го по 5е января, в них главное - время, а не дата. + Еще таблица Calendar в которой: есть поле Date типа Date и Holiday (int) (если 1 - значит выходной) Входящий параметр m.ldCheckDate - проверяемая дата, типа Date. Результат выборки - записи или их отсутствие в виде таблицы/курсора с двумя полями: WDate (DateTime) и WDuration(int). Нужно сделать выборку по входящему_параметру-дате, чтобы 1) учесть нет ли записи в Calendar с этой датой (поле Date) со значением 1 в поле Holiday, т.е. не выходной ли переданная дата, и в этом случае результат выборки должен быть пустым 2) если дата не выходной по Calendar и если дата есть в таблице custom_workdays, то сделать выборку записей только из этой таблицы (поля WDate, WDuration) и всё 3) если дата не выходной по Calendar и если даты нет в таблице custom_workdays, то делаем выборку записей из таблицы settings_workdays (поля WDate, WDuration) по условию DAYOFWEEK(входящего_параметра-даты)=DAYOFWEEK(settings_workdays.WDate) вот так не выдает в выборку вообще ничего: Код: plaintext 1. 2. 3. 4. 5. 6. 7. заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2010, 20:56 |
|
||
|
Подскажите хитрую SQL-выборку по дате/DOW() из 3х таблиц
|
|||
|---|---|---|---|
|
#18+
сделал вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2010, 23:35 |
|
||
|
Подскажите хитрую SQL-выборку по дате/DOW() из 3х таблиц
|
|||
|---|---|---|---|
|
#18+
CTAC-KO, данных дайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2010, 10:11 |
|
||
|
Подскажите хитрую SQL-выборку по дате/DOW() из 3х таблиц
|
|||
|---|---|---|---|
|
#18+
CTAC-KOПривет! Есть 2 таблицы с одинаковой структурой: settings_workdays и custom_workdays. В обоих есть поля WDate типа DateTime и WDuration(int). В таблице settings_workdays есть 5 записей с датой от 2001 года, с 1го по 5е января, в них главное - время, а не дата. + Еще таблица Calendar в которой: есть поле Date типа Date и Holiday (int) (если 1 - значит выходной) Входящий параметр m.ldCheckDate - проверяемая дата, типа Date. Результат выборки - записи или их отсутствие в виде таблицы/курсора с двумя полями: WDate (DateTime) и WDuration(int). Нужно сделать выборку по входящему_параметру-дате, чтобы 1) учесть нет ли записи в Calendar с этой датой (поле Date) со значением 1 в поле Holiday, т.е. не выходной ли переданная дата, и в этом случае результат выборки должен быть пустым 2) если дата не выходной по Calendar и если дата есть в таблице custom_workdays, то сделать выборку записей только из этой таблицы (поля WDate, WDuration) и всё 3) если дата не выходной по Calendar и если даты нет в таблице custom_workdays, то делаем выборку записей из таблицы settings_workdays (поля WDate, WDuration) по условию DAYOFWEEK(входящего_параметра-даты)=DAYOFWEEK(settings_workdays.WDate) не знаю,так попробуйте Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2010, 10:32 |
|
||
|
Подскажите хитрую SQL-выборку по дате/DOW() из 3х таблиц
|
|||
|---|---|---|---|
|
#18+
поправил Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2010, 10:35 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=36465776&tid=1585601]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 316ms |

| 0 / 0 |
