Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос / 21 сообщений из 21, страница 1 из 1
08.12.2013, 12:48:18
    #38493198
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
имеются две таблицы general_table и properties_table


Мне надо одним запросом вынуть из первой таблицы записи где значение id_num равно значению id_num в тех записях в таблице properties_table где значение room Нкходится в определённых приделах(< >). Обясните пожалуйста подробней что да как? Я раньше дел со сложными запросами не имел.
...
Рейтинг: 0 / 0
08.12.2013, 14:15:20
    #38493241
bochkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
Код: sql
1.
2.
3.
SELECT * FROM general_table gt
JOIN  properties_table pt  USING(id_num)
WHERE room BETWEEN [1 предел] AND [2предел]
...
Рейтинг: 0 / 0
08.12.2013, 17:59:11
    #38493331
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
А если надо добавить пару условий для первой таблицы ? Просто добавить их к запросу через && ??
...
Рейтинг: 0 / 0
08.12.2013, 23:40:20
    #38493502
bochkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
AreostarА если надо добавить пару условий для первой таблицы ? Просто добавить их к запросу через && ??
через AND
...
Рейтинг: 0 / 0
10.12.2013, 09:54:22
    #38495021
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
Спасибо Работает
...
Рейтинг: 0 / 0
11.12.2013, 20:05:39
    #38497672
tca320
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
Здравствуйте,дабы не плодить тем.
Мне тоже надо помочь составить запрос,можете пинать ибо понимаю что он примитивен...но осилить не могу((((

Напишите запрос, выбирающий данные об именах всех студентов,
имеющих по предмету с идентификатором 101 балл выше общего
среднего балла.

оценку(mark) берём из exam_marks
имя студента (name) из student
предмет subj_id=101
составить надо через having

Заранее благодарен)
...
Рейтинг: 0 / 0
12.12.2013, 06:36:31
    #38497896
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
tca320, пишите прямо - не "помочь составить", а "составить за меня". И прочитайте это .
...
Рейтинг: 0 / 0
12.12.2013, 08:11:39
    #38497916
tca320
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
tanglir,
я Вас понял:)
я составил вот такой запрос

select name from student where id in
(select stud_id from exam_marks where mark>
(select avg(mark) from exam_marks
where subj_id=101));

он работает,но само собой не очень корректен.
Прошу помощи в составлении грамотного запроса.
Спаибо:)
...
Рейтинг: 0 / 0
12.12.2013, 08:42:57
    #38497925
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select s.name 
from student s
join exam_marks m on m.stud_id=s.id and m.subj_id=101
group by s.id
having max(m.mark)>(
  select avg(mark) 
  from exam_marks
  where subj_id=101
  );
...
Рейтинг: 0 / 0
12.12.2013, 08:57:21
    #38497935
tca320
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
tanglir,и ещё,я самоучка)
стремление естьт,спросить особо не у кого)
обращаюсь к мастодонтам)))
...
Рейтинг: 0 / 0
12.12.2013, 09:08:37
    #38497942
tca320
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
Cygapb-007,

всё понял кроме
авторs.name
авторstudent s join
авторm on m.stud_id=s.id and m.subj_id
для чего "s" и "m"?
...
Рейтинг: 0 / 0
12.12.2013, 09:20:04
    #38497955
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
tca320для чего "s" и "m"? алиасы таблиц.
1) короче и читабельнее текст запроса
2) у каждого поля явно указано, из какой таблицы оно берется
3) в запросе таблицу можно указать несколько раз
...
Рейтинг: 0 / 0
12.12.2013, 09:41:53
    #38497987
tca320
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
Cygapb-007,

понял,спасибо:)
правда до join я ещё не дошёл
загуглил,суть понял
...
Рейтинг: 0 / 0
12.12.2013, 09:53:34
    #38498009
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
tca320правда до join я ещё не дошёлну а без джойна тут вообще делать нечего :)
Cygapb-007
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select s.name 
from student s
join exam_marks m on m.stud_id=s.id and m.subj_id=101
group by s.id
having max(m.mark)>(
  select avg(mark) 
  from exam_marks
  where subj_id=101
  );

мсскл, наверное, догадается, как надо выполнять это запрос, а вот для мускля я б переписал так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select s.name 
from student s
join exam_marks m on m.stud_id=s.id and m.subj_id=101
cross join (
  select avg(mark) avgmark
  from exam_marks
  where subj_id=101
) t0
group by s.id
having max(m.mark)>min(t0.avgmark);


tca320имеющих по предмету с идентификатором 101 балл выше общего
среднего балла.а если это понимать не как "имеющих хотя бы одну оценку выше общей средней", а "у которых свой средний балл выше общего среднего", то
Код: sql
1.
having avg(m.mark)>min(t0.avgmark);
...
Рейтинг: 0 / 0
12.12.2013, 11:09:00
    #38498116
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
tanglirмсскл, наверное, догадается, как надо выполнять это запрос, а вот для мускля я б переписал такМне кажется, Вы относитесь к мусклу хуже, чем он того заслуживает
http://sqlfiddle.com/#!2/c875f/1 - планы практически одинаковые
...
Рейтинг: 0 / 0
12.12.2013, 12:15:49
    #38498257
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
Cygapb-007, ну и хорошо, что одинаковые.
Просто я надолго запомнил мусклевые dependent subquery, теперь они мне везде мерещатся :)
...
Рейтинг: 0 / 0
16.04.2014, 09:45:26
    #38616098
tca320
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
И снова здравствуйте!
И опять за помощью:)
Есть две таблицы (T1 и T2) с разными полями, но с одинаковым содержимым в одном из столбцов(в т1-ид, в т2-пер_ид).
Надо сравнить эти таблицы и значения которых нет в одной из таблиц вывести в ответ.
Я сляпал вот такой запрос
SELECT id
FROM т1
LEFT JOIN т2 ON
т1 id = т2 PER_ID
WHERE т2 PER_ID IS NULL;

но он не арбайтен((((
Поможите чем можите:)
...
Рейтинг: 0 / 0
16.04.2014, 10:48:40
    #38616170
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
tca320,

с виду запрос правильный
может, у вас просто нет таких данных, которые он должен выдавать?
...
Рейтинг: 0 / 0
16.04.2014, 11:54:32
    #38616270
tca320
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
данные должны быть.
одна таблица с персоналом, вторая с местами работ...точно знаю что не все сотрудники назначены на должности
...
Рейтинг: 0 / 0
16.04.2014, 12:25:52
    #38616331
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
tca320,

дорогой, не гони. ладно в декабре ты уже стоял перед фактом, сесия - некогда учить надо сдавать, но зачем же сейчас травмировать нашу психику ,и разбивать к чёртям собачим наши любящие серца(любовь к языку SQL). ну выучи ты основы этого языка, ну ёлки палки.

знаешь как себя чувсвует братия, когда заходит ктото и демонстративно не хочет учить то, что эта самая братия щитает одним из достижений в своей жизни?! это тоже самое что ты своему преподу в вузе скажеш, ваш предмет фуфло, я его учить не буду. Ну сжалься ты над нами!
...
Рейтинг: 0 / 0
16.04.2014, 12:32:55
    #38616347
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос
tca320И снова здравствуйте!
И опять за помощью:)
Есть две таблицы (T1 и T2) с разными полями, но с одинаковым содержимым в одном из столбцов(в т1-ид, в т2-пер_ид).
Надо сравнить эти таблицы и значения которых нет в одной из таблиц вывести в ответ.
Я сляпал вот такой запрос
SELECT id
FROM т1
LEFT JOIN т2 ON
т1 id = т2 PER_ID
WHERE т2 PER_ID IS NULL;

но он не арбайтен((((
Поможите чем можите:)

исходя из того, что подозреваю о наличии поля айди в другой таблице на месте мускла бы поинтересовался - а айди в секции селект к какой таблице относится?!

и главное, запрос выдаст отделы, куда не назначен НИОДИН сотрудник.

а ТЕБЕ надо сотрудники, которых не назначили (т2 лефт джоин т1 где т1 из нулл) = сотрудники, для которых нет связаного отдела

твой же выводит отделы для которых не не нашлось сотрудника!!
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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