2017-02-12 1 views
0

Я хочу получить данные из двух таблиц в моей БД. Вот что мои таблицы могут выглядеть следующим образом:В одном запросе я хочу получить данные из двух разных таблиц?

subject_code: semester, subjectcode, subjectname 
markmanagment: subjectcode, semester, marks, rollno 

я хочу, чтобы выбрать rollno значения = 1 и значения семестра = 1 и соответствующее ему значение знаков и объекты кода из таблицы markmanagment и по той же стоимости семестра и при условии коды Я хочу имя субъекта от subject_code

ответ

0

Это очень простое соединение. Используйте INNER JOIN, чтобы видеть только результаты, имеющие записи в обеих таблицах. Я использовал код темы в инструкции ON, но здесь вы также можете использовать семестр. Затем укажите другие условия в предложении WHERE. В инструкции SELECT укажите столбцы, которые вы хотите увидеть, перечисляя их в следующем формате: tablename.columnname. Я использую * здесь для возврата всех столбцов.

SELECT * 
FROM subject_code sc 
INNER JOIN markmanagement mm ON sc.subjectcode = mm.subjectcode 
WHERE sc.semester = mm.semester 
AND sc.semester = 1 
AND mm.rollno = 1 
+0

после выполняется запрос с использованием результатов набора rs.next() в цикле, пока я печатных знаков с помощью системы .out.print это havent напечатано ничего – balan

+0

Ваш вопрос просто спросил о запросе. То, что указано выше, верно, учитывая имеющуюся у нас информацию, а также несколько других запросов на странице. Если есть другая информация, которую нам нужно ответить на вопрос, вы должны сообщить нам об этом. Вы ничего не говорили о петле while – kbball

+0

да, я буду, .sry – balan

0

Вы должны сделать таблицу соединений (Внутренний - правый - левый или полный, в зависимости от вашей таблицы).

Как:

SELECT * FROM subject_code 
INNER JOIN markmanagment 
ON subject_code.subjectcode = markmanagment.subjectcode; 
WHERE markmanagment.rollno = 1 AND subject_code.semester = 1 
0

Вы можете указать несколько условий в on части объединения. Например:

select * 
from markmanagement mm 
join subject_code sc 
on  mm.subjectcode = sc.subjectcode 
     and mm.semester = sc.semester 
where mm.semester = 1 
     and mm.rollno = 1 
0

Надеюсь, я правильно понял вашу проблему.

Пытался создать такую ​​же проблему.

Sqlfiddle ссылка - http://sqlfiddle.com/#!9/5a074b/2/0

create table subject_code 
(
semester int, 
subjectcode varchar(100), 
subjectname varchar(100) 
); 

insert into subject_code values(1,'S01','subject1'); 
insert into subject_code values(1,'S02','subject2'); 
insert into subject_code values(2,'S01','subject1'); 

create table markmanagment 
(
    subjectcode varchar(100), 
    semester int, 
    marks int , 
    rollno int 
); 

insert into markmanagment values('S01',1,75,1); 
insert into markmanagment values('S02',1,80,1); 
insert into markmanagment values('S01',2,85,1); 

Я думаю, что ниже запрос поможет

select b.marks , b.subjectcode , a.subjectname 
from subject_code a, markmanagment b 
where a.semester = b.semester 
and a.subjectcode = b.subjectcode 
and a.semester = 1 
and b.rollno = 1;