|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.04.2013, 04:20 | #1 |
Регистрация: 03.12.2012
Сообщений: 8
|
Запрос с объединением
Всем привет, есть 2 таблицы:
ДИСЦИПЛИНЫ НОМЕР_ДИСЦИПЛИНЫ НАЗВАНИЕ НОМЕР_ПРЕПОДАВАТЕЛЯ ЧАСЫ УСПЕВАЕМОСТЬ ОЦЕНКА ДАТА НОМЕР_СТУДЕНТА НОМЕР_ДИСЦИПЛИНЫ Нужно вывести список тех, кто сдал математику с первого раза. Я кое-что написал и вроде как правильно, но как сделать отбор на "с первого раза"? SELECT * FROM дисциплины д, успеваемость у WHERE у.номер_дисциплины=д.номер_дисципли ны AND д.название='Математика'; Последний раз редактировалось J4SSektor; 08.04.2013 в 04:24. |
08.04.2013, 09:25 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
хороший вопрос..
я думаю, что из таблицы успеваемость нужно брать не все записи, а нужно взять только Математику и взять только первую запись по каждому студенту |
08.04.2013, 09:32 | #3 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
субд как всегда супер секретное
having смотрите (а вось угадал...) |
08.04.2013, 09:33 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
С первой записью как-то не очень. ТС, успеваимость это что - текущие оценки или результаты сдачи? Если результаты сдачи - в случае неуда запись с двойкой создается или как? И лучше всего привести пример десятка записей таблицы успеваимость с ситуациями - сдал с первого раза, не с первого раза, вообще не сдавал.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
08.04.2013, 15:19 | #5 | |
Регистрация: 03.12.2012
Сообщений: 8
|
Oracle
Цитата:
CREATE TABLE УСПЕВАЕМОСТЬ (НОМЕР NUMBER(5) NOT NULL, ОЦЕНКА NUMBER(2) NOT NULL, ДАТА DATE NOT NULL, НОМЕР_СТУДЕНТА NUMBER(5) NOT NULL, НОМЕР_ДИСЦИПЛИНЫ NUMBER(5) NOT NULL, PRIMARY KEY(НОМЕР), CHECK(ОЦЕНКА between 1 and 5), FOREIGN KEY(НОМЕР_СТУДЕНТА) REFERENCES СТУДЕНТЫ(НОМЕР_СТУДЕНТА), FOREIGN KEY(НОМЕР_ДИСЦИПЛИНЫ) REFERENCES ДИСЦИПЛИНЫ(НОМЕР_ДИСЦИПЛИНЫ)); CREATE TABLE ДИСЦИПЛИНЫ (НОМЕР_ДИСЦИПЛИНЫ NUMBER(5, 0) PRIMARY KEY NOT NULL ENABLE, НАЗВАНИЕ VARCHAR2(30), НОМЕР_ПРЕПОДАВАТЕЛЯ NUMBER(5, 0), ЧАСЫ NUMBER(2, 0) DEFAULT 0 NOT NULL ENABLE) ; INSERT INTO ДИСЦИПЛИНЫ VALUES (2001 ,'Физика' ,4001,34 ); INSERT INTO ДИСЦИПЛИНЫ VALUES (2002 ,'Химия' ,4002,68 ); INSERT INTO ДИСЦИПЛИНЫ VALUES (2003 ,'Математика' ,4001,68 ); INSERT INTO ДИСЦИПЛИНЫ VALUES (2004 ,'Философия' ,4004 ,17 ); INSERT INTO ДИСЦИПЛИНЫ VALUES (2005 ,'Экономика' ,4005 ,17 ); INSERT INTO ДИСЦИПЛИНЫ VALUES (2006 ,'Менеджмент' , NULL ,34 ); INSERT INTO УСПЕВАЕМОСТЬ VALUES ( NULL ,5 ,TO_DATE('10-июн-1999', 'dd-Mon-yyyy','NLS_DATE_LANGUAGE=RUSSIAN') ,3412 ,2001 ); INSERT INTO УСПЕВАЕМОСТЬ VALUES ( NULL ,5 ,TO_DATE('10-июн-1999', 'dd-Mon-yyyy','NLS_DATE_LANGUAGE=RUSSIAN') ,3413 ,2001 ); INSERT INTO УСПЕВАЕМОСТЬ VALUES ( NULL ,5 ,TO_DATE('12-июн-1999', 'dd-Mon-yyyy','NLS_DATE_LANGUAGE=RUSSIAN') ,3413 ,2003 ); INSERT INTO УСПЕВАЕМОСТЬ VALUES ( NULL ,2 ,TO_DATE('10-июн-1999', 'dd-Mon-yyyy','NLS_DATE_LANGUAGE=RUSSIAN') ,3414 ,2001 ); INSERT INTO УСПЕВАЕМОСТЬ VALUES ( NULL ,3 ,TO_DATE('15-июн-1999', 'dd-Mon-yyyy','NLS_DATE_LANGUAGE=RUSSIAN') ,3414 ,2005 ); INSERT INTO УСПЕВАЕМОСТЬ VALUES ( NULL ,4 ,TO_DATE('12-июн-1999', 'dd-Mon-yyyy','NLS_DATE_LANGUAGE=RUSSIAN') ,3412 ,2003 ); INSERT INTO УСПЕВАЕМОСТЬ VALUES ( NULL ,5 ,TO_DATE('12-июн-1999', 'dd-Mon-yyyy','NLS_DATE_LANGUAGE=RUSSIAN') ,3416 ,2003 ); INSERT INTO УСПЕВАЕМОСТЬ VALUES ( NULL ,2 ,TO_DATE('12-июн-1999', 'dd-Mon-yyyy','NLS_DATE_LANGUAGE=RUSSIAN') ,3417 ,2003 ); INSERT INTO УСПЕВАЕМОСТЬ VALUES ( NULL ,5 ,TO_DATE('12-июн-1999', 'dd-Mon-yyyy','NLS_DATE_LANGUAGE=RUSSIAN') ,3418 ,2003 ); INSERT INTO УСПЕВАЕМОСТЬ VALUES ( NULL ,4 ,TO_DATE('18-июн-1999', 'dd-Mon-yyyy','NLS_DATE_LANGUAGE=RUSSIAN') ,3418 ,2006 ); INSERT INTO УСПЕВАЕМОСТЬ VALUES ( NULL ,3 ,TO_DATE('15-июн-1999', 'dd-Mon-yyyy','NLS_DATE_LANGUAGE=RUSSIAN') ,3418 ,2005 ); |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос с объединением таблиц | vedro-compota | SQL, базы данных | 6 | 28.12.2010 12:57 |
Нужно описать структуру с объединением | blinkapec | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 30.11.2010 12:40 |
Grid с объединением ячеек... | Roof | Компоненты Delphi | 12 | 02.10.2009 13:19 |
перенос данных с объединением полей | dreamMaster | SQL, базы данных | 6 | 25.07.2008 09:44 |