Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запрос / 25 сообщений из 33, страница 1 из 2
02.11.2007, 12:17
    #34912693
FEAS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Помогите сделать запрос я ещё не очень сильно разбираюсь . Вобщем у меня есть колонка в таблице номера отделов вобщем там разные отделы те номера и и фио колонка нужно -

Определить, в каком отделе (отделах) работает больше всего сотрудников.
...
Рейтинг: 0 / 0
02.11.2007, 12:28
    #34912754
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
CREATE CURSOR cTmp (Department i, FIO c( 10 ))

INSERT INTO cTmp VALUES ( 1 ,"AAA")
INSERT INTO cTmp VALUES ( 1 ,"BBB")
INSERT INTO cTmp VALUES ( 2 ,"CCC")
INSERT INTO cTmp VALUES ( 2 ,"DDD")
INSERT INTO cTmp VALUES ( 3 ,"EEE")

SELECT Department, COUNT(FIO) as Qty ;
	FROM cTmp ;
	GROUP BY Department ;
	INTO CURSOR cTmp2

SELECT * ;
	FROM cTmp2 ;
	WHERE Qty in (SELECT MAX(Qty) as Qty FROM cTmp2)
...
Рейтинг: 0 / 0
02.11.2007, 12:41
    #34912818
FEAS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
что такое Qty?
...
Рейтинг: 0 / 0
02.11.2007, 12:43
    #34912830
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
FEASчто такое Qty?
А код посмотреть?
...
Рейтинг: 0 / 0
02.11.2007, 12:53
    #34912869
FEAS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Огромное спасибо всё понял я

а вот ещё вопрос
упорядоченные списки научных направлений, по которым нет специалистов.
те если его нет то выводил научное направление но я немогу сделать проверку что человека нет
...
Рейтинг: 0 / 0
02.11.2007, 13:04
    #34912918
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
FEASОгромное спасибо всё понял я

а вот ещё вопрос
упорядоченные списки научных направлений, по которым нет специалистов.
те если его нет то выводил научное направление но я немогу сделать проверку что человека нет
Э нет батенька, так не пойдёт. Мы что ж за тебя должны и таблички исходные мастрячить и код писать, да?
...
Рейтинг: 0 / 0
02.11.2007, 13:09
    #34912938
FEAS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
у меня таблицы то есть все прост код что то не могу сделать
я вот составил одну вещь можеш погледеть
select nauchspecial from sorudniki where Fio not in (select distinct nauchspecial from sorudniki )

что неправьлно можеш посмотреть
...
Рейтинг: 0 / 0
02.11.2007, 13:14
    #34912968
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
FEASу меня таблицы то есть все
Но у нас то их нет. И какой они структуры, и где что хранится мы не знаем.

FEAS прост код что то не могу сделать
я вот составил одну вещь можеш погледеть
select nauchspecial from sorudniki where Fio not in (select distinct nauchspecial from sorudniki )
что неправьлно можеш посмотреть
Это и не будет работать. Что ж ты таблицу саму с собой сравниваешь?
...
Рейтинг: 0 / 0
02.11.2007, 13:20
    #34912995
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Код: plaintext
1.
2.
select * ;
   from НаучныеСпециальности ;
   where НаименованиеСпециальности not in (select dist НаименованиеСпециальности from Сотрудники)
...
Рейтинг: 0 / 0
02.11.2007, 13:22
    #34913005
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
AleksMed
Код: plaintext
1.
2.
select * ;
   from НаучныеСпециальности ;
   where НаименованиеСпециальности not in (select dist НаименованиеСпециальности from Сотрудники)


Твою бы энергию, да в мирных целях.
...
Рейтинг: 0 / 0
02.11.2007, 13:23
    #34913010
FEAS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
а как примерно сделать напиши без таблицы как думаеш сделать если пустое значение
...
Рейтинг: 0 / 0
02.11.2007, 13:24
    #34913019
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
PaulWist AleksMed
Код: plaintext
1.
2.
select * ;
   from НаучныеСпециальности ;
   where НаименованиеСпециальности not in (select dist НаименованиеСпециальности from Сотрудники)


Твою бы энергию, да в мирных целях.
У на ещё куча времени
...
Рейтинг: 0 / 0
02.11.2007, 13:26
    #34913028
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
[quot AleksMedУ на ещё куча времени [/quot]

Ты офигел, всего месяц, а лучше как всегда - ВЧЕРА.
...
Рейтинг: 0 / 0
02.11.2007, 13:35
    #34913058
FEAS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
select nauchspecial from sorudniki where Fio not in (select dist fio from sorudniki)

не выходит так
...
Рейтинг: 0 / 0
02.11.2007, 13:40
    #34913082
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
FEASselect nauchspecial from sorudniki where Fio not in (select dist fio from sorudniki)

не выходит так
Как не может быть FIO в таблице из которой ты их выбираешь?
...
Рейтинг: 0 / 0
02.11.2007, 13:45
    #34913097
FEAS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
упорядоченные списки научных направлений, по которым нет специалистов

те если ведь нет специалиста то нет фио или нет, как узнать тогда что поле пустое и чела нет, и надо вывести научные направления по которым нет специалистов
...
Рейтинг: 0 / 0
02.11.2007, 13:50
    #34913120
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
FEASупорядоченные списки научных направлений, по которым нет специалистов

те если ведь нет специалиста то нет фио или нет, как узнать тогда что поле пустое и чела нет, и надо вывести научные направления по которым нет специалистов
В таблице сотрудников не может быть сотрудника которого там нет.
Там может быть сотрудник у которого нет специальности, НО нафига Вам такой сотрудник.
Покажи хотя бы структуру таблиц из которых делается выборка, иначе мы долго будем искать истину.
...
Рейтинг: 0 / 0
02.11.2007, 14:03
    #34913167
FEAS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
вот положил
...
Рейтинг: 0 / 0
02.11.2007, 14:11
    #34913199
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Если принять, что под научными направлениями подразумевается самая нижняя таблица на схеме и она называется Nauchn, то
Код: plaintext
1.
2.
select * ;
   from Nauchn ;
   where Shifr not in (Select ShifrSpec from Sorudniki)
...
Рейтинг: 0 / 0
02.11.2007, 14:28
    #34913265
FEAS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
да теперь заработало выводит правильно

надо мне сделать "Качественный состав научных сотрудников отделов" (отдел, количество профессоров, количество доцентов).

я сделал так , select nomerotdel, Count(zvanie) from sorudniki where zvanie='proffessor'
и выводится отдел и количество профессоров допустим 5 а если я добавляю ещё и and zvanie='docent' доцент типа то он пишет 10 а мне нужно раздельно как бы в два столбика вывести но одним запросом
как сделать чтобы он считал звание отдельно Count(zvanie)
...
Рейтинг: 0 / 0
02.11.2007, 14:48
    #34913351
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Можно так:
Код: plaintext
1.
2.
select nomerotdel, Count(iif(zvanie='proffessor', 1 , 0 )) as Proff, ;
   Count(iif(zvanie='docent', 1 , 0 )) as Docent ;
from sorudniki

или так:
Код: plaintext
1.
2.
3.
select nomerotdel, Zvanie, Count(zvanie) as Qty ;
   from sorudniki ;
   group by nomerotdel, Zvanie ;
   order by nomerotdel, Zvanie
...
Рейтинг: 0 / 0
02.11.2007, 15:21
    #34913481
FEAS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
всё спасибо тебе , всё работает проблемы решены только вот в первом методе записи что то не обновляются , те выводит сначала кол во 120 а затем я удалил пару записей то он снова пишет 120 а второй метод всё гуд
...
Рейтинг: 0 / 0
02.11.2007, 15:39
    #34913556
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
AleksMedМожно так:
Код: plaintext
1.
2.
select nomerotdel, Count(iif(zvanie='proffessor', 1 , 0 )) as Proff, ;
   Count(iif(zvanie='docent', 1 , 0 )) as Docent ;
from sorudniki



Тогда уж не count, а sum

Код: plaintext
1.
2.
select nomerotdel, SUM(iif(zvanie='proffessor', 1 , 0 )) as Proff, ;
   SUM(iif(zvanie='docent', 1 , 0 )) as Docent ;
from sorudniki
...
Рейтинг: 0 / 0
02.11.2007, 15:45
    #34913583
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Ага, SUM() и группировку ещё воткнуть нужно по отделам.
...
Рейтинг: 0 / 0
02.11.2007, 15:46
    #34913587
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Блин, энергетик, почту прочти.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запрос / 25 сообщений из 33, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]