Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 [2] 3 4 5 ... 7   Вниз
  Печать  
Автор Тема: Выборка из одной таблицы в SQL  (Прочитано 177211 раз)
0 Пользователей и 10 Гостей смотрят эту тему.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #30 : 09-11-2010 10:23 » 

upper(C_STREET) LIKE upper('бр%') OR upper(C_STREET) LIKE upper('мол%'))
а вот это можно словами объяснить?
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #31 : 09-11-2010 10:24 » 

все (значение поля и сравниваемую строку) приводим к верхнему регистру

можно было бы написать

upper(C_STREET) LIKE 'БР%' OR upper(C_STREET) LIKE 'МОЛ%'))
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #32 : 09-11-2010 10:25 » 

upper(C_STREET) LIKE upper('бр%') OR upper(C_STREET) LIKE upper('мол%'))
а вот это можно словами объяснить?

мы осуществляем независящий от регистра поиск. Этого эффекта можно добиться, по крайней мере, еще двумя способами.
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #33 : 09-11-2010 10:39 » new

хОЧУ ПОСМОТРЕТЬ КАК ДАТЫ ВЫОДЯТСЯ ПИШУ ЭТО

SELECT D_PAY
FROM PAYMENT

ОРАКЛ ГОВОРИТ НЕ НАЙДЕНО
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #34 : 09-11-2010 10:41 » 

Dana,

1. Даты будут выводиться в зависимости от параметров NLS для сессии.
2. Сделай вывод всего что есть в этой таблице:

Код:
select * from payment
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #35 : 09-11-2010 10:44 » 

Dana,

1. Даты будут выводиться в зависимости от параметров NLS для сессии.
2. Сделай вывод всего что есть в этой таблице:

Код:
select * from payment

пРОБОВАЛА,  "no data found "
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #36 : 09-11-2010 10:46 » 

Dana, значит у тебя нет данных в этой таблице Улыбаюсь
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #37 : 09-11-2010 10:48 » 

Dana, значит у тебя нет данных в этой таблице Улыбаюсь
КЛАСС!! Улыбаюсь

Добавлено через 2 дня, 19 часов, 53 минуты и 51 секунду:
N_PAYMENT N_SIGN N_CLIENT D_PAY N_SUM
21 0 51 16.06.08 148
22 0 54 16.06.08 211
23 0 57 16.06.08 491
24 0 78 16.06.08 818
25 0 83 16.06.08 205
26 0 87 16.06.08 714
27 0 91 16.06.08 1226
28 0 100 16.06.08 364
29 0 123 16.06.08 689
30 0 129 16.06.08 100


Добавлено через 11 минут и 57 секунд:
SELECT   N_SUM
from payment
where  IN d_pay between to_date ('01.01.08-15.01.08', 'DD-MM-YY')
« Последнее редактирование: 12-11-2010 06:42 от Dana » Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #38 : 12-11-2010 07:04 » 

Dana, это ты чего такое написала?

Код:
where  IN d_pay between to_date ('01.01.08-15.01.08', 'DD-MM-YY')
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #39 : 12-11-2010 08:27 » 

Пытаюсь сделать вот это только через IN
select N_SUM from PAYMENT where (D_PAY
between to_date('2010-01-01','YYYY-MM-DD') and to_date('2010-01-15','YYYY-MM-DD'))
or (D_PAY
between to_date('2010-02-01','YYYY-MM-DD') and to_date('2010-02-15','YYYY-MM-DD'))
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #40 : 12-11-2010 08:52 » 

Dana,

1. Синтаксис у тебя не верен. Оракл ведь тебе это говорит, зачем ты на форум пишешь то что заведомо не верно!? Или ты не проверяла?

2. Не буду тебе отвечать по поводу IN, сама себе ответь, как формируется список для IN?
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #41 : 12-11-2010 09:17 » 

SELECT  N_SUM
from payment
where D_PAY in ('01.01.08', '15.01.08')

Оракл говорит Не найдено

Для IN формируется так (из учебника):
"SELECT   *
FROM   Блюда
WHERE   Основа IN (Яйца Крупа Овощи);
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #42 : 12-11-2010 09:29 » 

Dana,

покажи все что у тебя есть в таблице payment.

И ты так и не ответила, как формируются (Яйца Крупа Овощи).
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #43 : 12-11-2010 10:46 » 

Просто берутся из таблицы

Добавлено через 3 минуты и 52 секунды:
Вот что выдал оракл

* SQL Commands.rar (39.22 Кб - загружено 718 раз.)
« Последнее редактирование: 12-11-2010 10:50 от Dana » Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #44 : 12-11-2010 11:11 » 

Просто берутся из таблицы

Как?
Вот что выдал оракл

чт там? покажи просто что есть в таблице payment
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #45 : 12-11-2010 11:36 » 

N_PAYMENT N_SIGN N_CLIENT D_PAY N_SUM
21                 0          51           16.06.08    148
22                 0          54            16.06.08    211
23                 0          57           16.06.08     491


эквивалентно:

SELECT   *
FROM   Блюда
WHERE   Основа=Яйца OR Основа=Крупа OR Основа=Овощи;

Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #46 : 12-11-2010 11:37 » 

Dana, в общем про IN,ты меня не поняла!

про даты, ты просишь найти за январь, а у тебя данные только за июнь.
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #47 : 13-11-2010 02:46 » 

В таблице есть за январь просто если я выложу полный список это будет страницы на 3-не хотелось форум засорять.
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #48 : 13-11-2010 07:14 » 

Dana, скажи, а мой запрос, для поиска по датам работает?
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #49 : 16-11-2010 03:02 » 

"select N_SUM from PAYMENT where (D_PAY
between to_date('2010-01-01','YYYY-MM-DD') and to_date('2010-01-15','YYYY-MM-DD'))
or (D_PAY
between to_date('2010-02-01','YYYY-MM-DD') and to_date('2010-02-15','YYYY-MM-DD'))" - no data found
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #50 : 16-11-2010 07:07 » 

Dana, тогда я все таки настаиваю на выгрузке таблицы PAYMENT. Выгрузи в файл и приложи к сообщению.

Добавлено через 1 час, 49 минут и 23 секунды:
Где то в недрах интернета

Цитата
(11:16:44 AM) Dana(shelek): Привет это DAna с форума
(11:16:55 AM) 295523175: привет
(11:17:15 AM) Dana(shelek): зайти на этот сервак сможешь:
http://bruteforce.csu.ac.ru:8080/apex
(11:17:20 AM) Dana(shelek): это оракл
(11:17:35 AM) 295523175: давай логин пароль
(11:17:43 AM) Dana(shelek): *****
(11:18:01 AM) 295523175: угу, зашел
(11:18:32 AM) Dana(shelek): посмотри сколько там записей замучаюсь выгружать
(11:19:12 AM) 295523175: всего то 2664
(11:19:18 AM) Dana(shelek): ))
(11:22:00 AM) 295523175: сейчас поколдую
(11:22:50 AM) Dana(shelek): а что я не так делаю? вроде же все правильно
(11:22:58 AM) 295523175: погоди
(11:23:05 AM) Dana(shelek): хор
(11:30:53 AM) 295523175: дык ёпить
(11:31:03 AM) 295523175: у тебя данные только за 2008 год
(11:32:47 AM) 295523175: вот так попробуй
(11:32:48 AM) 295523175: select N_SUM, D_PAY from PAYMENT where (D_PAY
between to_date('2008-06-16','YYYY-MM-DD') and to_date('2008-06-17','YYYY-MM-DD'))
or (D_PAY
between to_date('2008-09-16','YYYY-MM-DD') and to_date('2008-09-17','YYYY-MM-DD'))

(11:33:01 AM) 295523175: на даты посмотри
(11:33:06 AM) 295523175: увидишь результат!
(11:33:11 AM) 295523175: значит конструкция работает!
(11:33:14 AM) Dana(shelek): мне с IN надо как-то сделать
(11:33:18 AM) 295523175: зачем?
(11:33:48 AM) Dana(shelek): так в лабораторке написано, а твое мне не много не понятно
(11:34:22 AM) 295523175: ты попробуй мой запрос, убедись что он работает!
(11:34:46 AM) Dana(shelek): щас
(11:37:03 AM) Dana(shelek): да работает
(11:37:05 AM) 295523175: ты вот мне так и не ответила как формируется список IN. Если через IN то тебе нужно перечислять ВСЕ даты по которым ты хочешь исать, это либо их вручную вбить, что является бредом, либо подзапрос (один хрен в подзапросе нужно укзаать окно или еще как-то) тоже бред. Есть еще конечно пайп функции, но это тебе пока рано Улыбаюсь Так что либо делай так как я показал, именно так задается окно, либо делай через под запросы! Но план выполнения будет оптимален в моем примере! Если делать через подзапросы, но накаждую проверку условия будет выполнять подзапрос для определения даты, это не оптимально!
(11:39:14 AM) Dana(shelek): ну я вот тожедумала что мне придеться  для IN  писать кажде число, но поидеи же получается что мне надо 2 месяца  с 1 по 15. С тобой согласна проще гораздо но надо и IN освоить
(11:40:02 AM) 295523175: а как звучит задание можешь сказать?
(11:40:20 AM) Dana(shelek): попробовала в твой запрос ниписать с теми датами которые мне нужны отчет не вышел
(11:40:32 AM) 295523175: У ТЕБЯ ИХ НЕТ!
(11:40:54 AM) Dana(shelek): как это есть я же выводила находила 01.01.2008
(11:41:09 AM) 295523175: ну от куда я знаю
(11:41:35 AM) 295523175: посмотри что сейчас есть! select D_PAY from PAYMENT
(11:42:58 AM) Dana(shelek): только 16.01.08
(11:43:35 AM) Dana(shelek): вот блин..то базы не загрузили теперь загрузили и видать криво
(11:43:45 AM) 295523175: ))))
(11:44:12 AM) Dana(shelek): задание было такое
Вывести суммы оплат за январь и февраль, с 1 по 15 число
(11:44:19 AM) 295523175: ))))
(11:44:30 AM) 295523175: а кто IN от тебя требует?
(11:44:53 AM) Dana(shelek): под каждым заданием образец
Использование подмножеств.

SELECT   column
FROM table
WHERE column IN (va1ue1, value2, …)

(11:48:52 AM) 295523175: ну перечисли 15 дат одного и 15 дат другого месяца
(11:49:26 AM) Dana(shelek): спасибо попробую к вечеру сказали исправт баг
(11:49:34 AM) 295523175: ок
« Последнее редактирование: 16-11-2010 08:57 от McZim » Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #51 : 16-11-2010 16:13 » 

Макс, ну у тебя и терпение! Улыбаюсь
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #52 : 19-11-2010 03:35 » 

Да не то что у RXL Улыбаюсь

Препод сказал что это нормально когда запрос может не выполняться.
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #53 : 19-11-2010 04:38 » 

Dana, да, мне его на всех не хватает...

После такого могу сказать, что препод либо идиот, либо пофигист. Посмотрел бы я, как у него в жизни можно было бы делать такие допущения.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #54 : 19-11-2010 05:22 » 

ВЫВОД ДАННЫХ ИЗ НЕСКОЛЬКИХ ТАБЛИЦ (с помощью Select)
1.   Вывести список клиентов с указанием пола, полного адреса проживания и телефона

SELECT client.n_sex,client.n_street,client.n_flat,client.c_house,client.n_phone
FROM client, street, sex
WHERE client.n_sex = sex.n_sex,
client.n_street = street.n_street
client.n_flat = client.n_flat
client.c_house = client.c_house
client.n_phone = client.n_phone

Не хочет работать Меня одолевают смутные сомнения
« Последнее редактирование: 19-11-2010 06:08 от Dana » Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #55 : 19-11-2010 07:08 » 

ВЫВОД ДАННЫХ ИЗ НЕСКОЛЬКИХ ТАБЛИЦ (с помощью Select)
1.   Вывести список клиентов с указанием пола, полного адреса проживания и телефона

SELECT client.n_sex,client.n_street,client.n_flat,client.c_house,client.n_phone
FROM client, street, sex
WHERE client.n_sex = sex.n_sex,
client.n_street = street.n_street
client.n_flat = client.n_flat
client.c_house = client.c_house
client.n_phone = client.n_phone

Не хочет работать Меня одолевают смутные сомнения
Улыбаюсь
Мне по поводу таких ошибок говорили - Изучай матчасть.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #56 : 19-11-2010 07:15 » 

Dana, запятые удобно ставить в начале строк, тогда точно не забудешь )

SELECT
 client.n_sex
,client.n_street
,client.n_flat
,client.c_house
,client.n_phone

FROM
 client
,street
,sex

WHERE
 client.n_sex = sex.n_sex
and client.n_street = street.n_street
and client.n_flat = client.n_flat
and client.c_house = client.c_house
and client.n_phone = client.n_phone

Ну а ещё тут явно join надо, но с ним я с ходу вот так не сумею разобраться ))
Записан

Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #57 : 19-11-2010 07:21 » 

Алексей1153++, да какой здесь join...

здесь нужно книжки в руки брать
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dana
Опытный

ru
Offline Offline
Пол: Женский

« Ответ #58 : 19-11-2010 09:18 » 

Ничего не находит

Добавлено через 16 секунд:
Алексей1153++, да какой здесь join...

здесь нужно книжки в руки брать
Какие?
« Последнее редактирование: 19-11-2010 09:18 от Dana » Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #59 : 19-11-2010 09:59 » 

ВЫВОД ДАННЫХ ИЗ НЕСКОЛЬКИХ ТАБЛИЦ (с помощью Select)
1.   Вывести список клиентов с указанием пола, полного адреса проживания и телефона

SELECT client.n_sex,client.n_street,client.n_flat,client.c_house,client.n_phone
FROM client, street, sex
WHERE client.n_sex = sex.n_sex,
client.n_street = street.n_street
client.n_flat = client.n_flat
client.c_house = client.c_house
client.n_phone = client.n_phone

Не хочет работать Меня одолевают смутные сомнения

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

Код:
select cl.C_FIRST_NAME, cl.C_SECOND_NAME, cl.C_LAST_NAME, sx.C_SEX, st.C_STREET
from client cl, sex sx, street st
where cl.N_SEX = sx.N_SEX(+)
--and cl.N_CITY =
and cl.N_STREET = st.N_STREET(+)
--and cl.C_HOUSE =
--and cl.N_FLAT =
--and cl.N_PHONE =

Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Страниц: 1 [2] 3 4 5 ... 7   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines