|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.04.2013, 00:36 | #11 |
Пользователь
Регистрация: 03.04.2013
Сообщений: 12
|
а не можете подсказать как делать? вроде задумка такая что сделать COUNT по P.ORG_ID или не по ней надо делать
|
04.04.2013, 00:40 | #12 |
Пользователь
Регистрация: 03.04.2013
Сообщений: 12
|
SELECT O.NAME AS ORG_NAME, COUNT(P.ORG_ID)
FROM ORGANIZATION AS O, PERSON AS P GROUP BY P.ORG_ID COUNT(P.ORG_ID) F WHERE P.ORG_ID=O.ORG_ID так можно писать? |
04.04.2013, 00:45 | #13 | |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
подзапросы уже изучали?
Цитата:
неприкаенный, выкинуть его. далее каждый блок должен находится на своей позиции, а не в хаосе. вощем почитайте про структуру запроса select Последний раз редактировалось eval; 04.04.2013 в 00:52. |
|
04.04.2013, 00:47 | #14 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
так пойдёт?
Код:
Цитата:
другое дело, когда без left / right join'ов не обойтись (хотя мне лично очень нравится оракльный плюсик в скобках возле связи: where a.id = b.id(+) - это и просто и удобно и наглядно). Но к сожалению, это нигде, кроме Оракла не допустимо... Ну это лично моё мнение/субъективное отношение. Уж именно так я с детства SQL запросы писать привык... хотя, по сути, соглашусь - join'ы намного универсальнее! |
|
04.04.2013, 01:02 | #15 | |
Пользователь
Регистрация: 03.04.2013
Сообщений: 12
|
Цитата:
|
|
04.04.2013, 01:06 | #16 | |
Пользователь
Регистрация: 03.04.2013
Сообщений: 12
|
Цитата:
|
|
04.04.2013, 01:16 | #17 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Это АГРЕГАТНАЯ функция. Она применяется к группе. Группой является набор данных, имеющий одинаковые значения полей, указанных в GROUP BY <список_полей> т.к. мы группируем по коду подразделения (наименование подразделения добавлено в группу, чтобы это наименование можно было использовать в перечне выбираемых полей в SELECT), то COUNT подсчитает, сколько записей имеет одинаковый код подразделения. Разумеется, если бы мы это запрос сделали для одной таблицы ORGANIZATION, то count() вернул бы 1 (единицу) для всех подразделений. Но, т.к. мы присоединили таблицу с сотрудниками, у нас будет столько записей по каждому подразделению, сколько сотрудников в этом подразделении. Очень рекомендую Вам почитать книжку Мартина Грубера "Понимание SQL" и не злоупотребляйте излишним цитированием. Это нарушение правил... Удаляйте из цитаты весь лишний текст - то, без чего ваше сообщение имеет смысл, на что Вы не ссылаетесь! Например, зачем Вы цитируете полностью мой текст, обращенный к eval???! Последний раз редактировалось Serge_Bliznykov; 04.04.2013 в 01:19. |
|
04.04.2013, 08:45 | #18 |
Пользователь
Регистрация: 03.04.2013
Сообщений: 12
|
|
04.04.2013, 09:00 | #19 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
{$Модератор_моде OFF}
если по тем же таблицам, думаю, что не будет большим нарушением правил, писать тут, в этой же теме... |
04.04.2013, 14:25 | #20 |
Пользователь
Регистрация: 03.04.2013
Сообщений: 12
|
еще одно задание:
в предположении, что структура подразделений трехуровневая написать sql-запрос, формирующий таблицу из трех колонок: подразделение третьего уровня, подразделение второго уровня, подразделение первого уровня тут совсем не знаю с чего начать. если PARENT_ID IS NULL то это подразделение первого уровня, это как бы ясно. но как для других писать? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вопросам знатокам и просто любителям, нужно составить не сложный sql запрос | modz | SQL, базы данных | 3 | 14.08.2013 11:20 |
Нужно составить запросы | настенка=) | SQL, базы данных | 4 | 26.05.2010 22:27 |
Составить запросы | Lion4ik89 | Фриланс | 6 | 18.02.2010 07:53 |
нужно описать sql запросы | BIS88 | SQL, базы данных | 3 | 26.02.2009 21:38 |