Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » SQL запрос

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43

Открыть новую тему     Написать ответ в эту тему

chel78



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Привет, подскажите  в чем бок.
в MS Query  есть запрос с переменной,
 
при обновлении появляется окошко для ввода переменной(дата), ввожу дату,
   
жму выполнение, и далее выпадает ошибка.
   
на другом компе этот же файл - работает на ура...

Всего записей: 124 | Зарегистр. 19-01-2007 | Отправлено: 09:44 28-02-2011
SIgor33

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
chel78
Возможно проблема в том что в системе установлены различные формат дат
У меня было так на русской винде отрабатывалась а на англеской ошибка вылазила.
Пришлось приводить к одному формату, ну если у тебя дата сначала строковая переменная и ты ее преобразуешь советую использовать сразу формат datetime

Всего записей: 652 | Зарегистр. 03-03-2009 | Отправлено: 12:06 28-02-2011
chel78



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Все таки победил, надо вводить дату в формате 01-feb-2011

Всего записей: 124 | Зарегистр. 19-01-2007 | Отправлено: 15:46 03-03-2011
asbo

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.
 
Тему начал читать, а пока все же спрошу:
 
MS Access. Создал и сохранил два запроса:
 
Qdf_1: SELECT DISTINCT Leg_T FROM Table_001;
Qdf_2: SELECT DISTINCT Leg_S FROM Table_002;
 
Потом создал и сохранил третий:
Qdf_3: SELECT DISTINCT Qdf_1.Leg_T, Qdf_2.Leg_S
FROM Qdf_1 INNER JOIN Qdf_2 ON Qdf_1.Leg_T = Qdf_2.Leg_S;
 
Но это все в ГУИ. Все работает. А как мне загнать все это хозяйство в один запрос (организовать вложенные запросы), в одну инструкцию SQL, чтобы потом на ее базе в VBA создать рекордсет?
 
Что-то типа:
SELECT DISTINCT Leg_T, Leg_S
FROM  
(SELECT DISTINCT Leg AS Leg_T FROM Table_001)  
INNER JOIN  
(SELECT DISTINCT Leg AS Leg_S FROM Table_002)  
ON Leg_T = Leg_S; (это не работает)
 

Всего записей: 1805 | Зарегистр. 03-10-2006 | Отправлено: 13:58 13-03-2011
asbo

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот! Правильно отсылают - "Читай тему!"
AndVGri, мэни снкс.

Всего записей: 1805 | Зарегистр. 03-10-2006 | Отправлено: 15:59 13-03-2011
SIgor33

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
asbo

Цитата:
SELECT DISTINCT Leg_T, Leg_S  
FROM  
(SELECT DISTINCT Leg AS Leg_T FROM Table_001)  
INNER JOIN  
(SELECT DISTINCT Leg AS Leg_S FROM Table_002)  
ON Leg_T = Leg_S; (это не работает)

 Используй псевдоним таблиц  
FROM  
(SELECT DISTINCT Leg AS Leg_T FROM Table_001)  AS T1  
INNER JOIN  
(SELECT DISTINCT Leg AS Leg_S FROM Table_002)  as T2
ON T1.Leg_T =T2. Leg_S;

Всего записей: 652 | Зарегистр. 03-03-2009 | Отправлено: 09:57 14-03-2011
asbo

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SIgor33, снкс,
я так и сделал - на второй странице нашел (ссылка в посте выше)

Всего записей: 1805 | Зарегистр. 03-10-2006 | Отправлено: 10:44 14-03-2011
MbIJIO



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите, можно выбрать все столбцы кроме определенных?  
например таблица table в ней столбцы q, w, e, r, t, y, u
и нужно выбрать все кроме столбца q
это возможно?

Всего записей: 175 | Зарегистр. 12-12-2006 | Отправлено: 14:30 14-05-2011
asbo

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MbIJIO +1
Тоже давно задаюсь вопросом - как закомментить вывод одного или нескольких полей? Ну, что то типа:
 
SELECT * FROM table SKIP q;
вместо
SELECT w, e, r, t, y, u FROM table;
 
Добавлено:
SKIP здесь, фиг знает какой, несуществующий, мной выдуманный оператор для отмены вывода поля q

Всего записей: 1805 | Зарегистр. 03-10-2006 | Отправлено: 15:01 14-05-2011 | Исправлено: asbo, 15:37 14-05-2011
MbIJIO



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
asbo
не правильный запрос, по крайней мере в phpMyAdmin(MySQL)
есть еще варианты?

Всего записей: 175 | Зарегистр. 12-12-2006 | Отправлено: 15:13 14-05-2011
asbo

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MbIJIO

Цитата:
не правильный запрос, по крайней мере в phpMyAdmin(MySQL)  
есть еще варианты?  

А можно тоже самое, только по-русски? Что имелось-то ввиду?
 
Я ни каких вариантов не прелагал, а лишь присоединился к вопросу...
 
Добавлено:
Поправил и добавил свой пост выше

Всего записей: 1805 | Зарегистр. 03-10-2006 | Отправлено: 15:29 14-05-2011 | Исправлено: asbo, 15:38 14-05-2011
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
asbo
Если цель скрыть некую инфу (некие столбцы), то надо создать представление(я), куда войдут все несекретные столбцы нужных таблиц. Далее блокируется обычным юзерам доступ к исходным таблицам,  но открывается доступ к представлениям, где запрос вида
select * from v_Table;
выведет только те столбцы, которые ему(обычному юзеру) позволено смотреть...

Всего записей: 2736 | Зарегистр. 16-10-2003 | Отправлено: 18:14 14-05-2011 | Исправлено: Garrett, 18:15 14-05-2011
asbo

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Garrett, снкс. Только в моем интересе все гораздо проще и меркантильней.  
 
У меня есть несколько широченных таблиц, а к ним несколько запросов. Чаще всего приходится перечислять все поля, вместо звезды и указания пары-тройки тех, которые не должны присутствовать в запросе просто за ненадобностью. Получаются километровые строки. Чтобы не захламлять основной код пришлось писать спец. ф-ции, в которые передаются эти ненужные поля, и в которых уже формируется эта километровая строка запроса. Но, при этом существенно снижается читабельность кода :( ...

Всего записей: 1805 | Зарегистр. 03-10-2006 | Отправлено: 18:23 14-05-2011
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
asbo
Делай представления. Один раз напишешь какие столбцы выбирать, а в программе будет просто select * from v_Table;

Всего записей: 2736 | Зарегистр. 16-10-2003 | Отправлено: 19:24 14-05-2011
MbIJIO



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Garrett
так если много таблиц, то надо на каждую делать?

Всего записей: 175 | Зарегистр. 12-12-2006 | Отправлено: 19:26 14-05-2011
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MbIJIO
Это смотря какие задачи стоят.
Но представления очень помогают:
- скрывать ненужное;
- скрывать секретное;
- скрыть истинную реализацию;
- делать выборку по каким-то условиям;
- делать рид-онли представления не прибегая к манипулированию правами на insert / update
- и т.д.
 
На твой вопрос - да. Юзер должен иметь доступ к представлению, но не таблице. Соответственно, представлений должно быть >= кол-ва таблиц.

Всего записей: 2736 | Зарегистр. 16-10-2003 | Отправлено: 19:33 14-05-2011
MbIJIO



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Garrett
спасибо

Всего записей: 175 | Зарегистр. 12-12-2006 | Отправлено: 19:27 15-05-2011
MasMaX



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Срочно требуется помощь! Создаю запрос для добавления строки в базу данных. Всё работает кроме следующего момента:
 
В таблице есть два поля 'AutoID' и 'RGNUM'. Первый имеет свойство autoinc и увилечивается само. В Insert я его не трогаю даже. А второе поле по задумке базы берет значение из первого. Как это реализовать? Точнее как добавить значение номера строки, которое ещё не создана на момент выполнения запроса.
Или делать два запроса и менять поле RGNUM уже после создания записи?

Всего записей: 279 | Зарегистр. 11-05-2005 | Отправлено: 15:09 08-12-2011
wasilissk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MasMaX
1. Триггер
2. Генератор
3. Зачем вам второе поле, если оно всегда равно первому?

Всего записей: 293 | Зарегистр. 25-12-2006 | Отправлено: 15:22 08-12-2011
ekemov

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Может оно будет не всегда ему равно, либо в запросе где то участвует так что проще через 2 ключа связь делать.

Всего записей: 804 | Зарегистр. 23-12-2005 | Отправлено: 16:33 08-12-2011
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » SQL запрос


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru