在单个查询中,我想从两个不同的表中获取数据?
问题描述:
我想从我的数据库中的两个表中获取数据。这里是我的表可能是什么样子:在单个查询中,我想从两个不同的表中获取数据?
subject_code: semester, subjectcode, subjectname
markmanagment: subjectcode, semester, marks, rollno
我想选择rollno值= 1学期和值= 1和表markmanagment和的学期和学科代码相同价值的标志和主题代码的对应值我想要subject_code的主题名称
答
这是一个非常基本的连接。使用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
答
你应该做一个连接表(内 - 右 - 左或完整,取决于你的表)。
像:在一个加入on
部分
SELECT * FROM subject_code
INNER JOIN markmanagment
ON subject_code.subjectcode = markmanagment.subjectcode;
WHERE markmanagment.rollno = 1 AND subject_code.semester = 1
答
您可以指定多个条件。例如:
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
答
希望,我明白你的问题正确。
试图创建相同的问题。
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;
通过在while循环我用系统印码使用结果集rs.next()执行查询后.out.print它没有打印任何东西 – balan
你的问题只是询问有关查询。根据我们提供的信息,上面的一个是正确的,在页面上的其他几个查询也是如此。如果有其他信息需要我们回答这个问题,您必须告诉我们。你没有提到任何关于一段时间的问题 – kbball
是的,我会,.sry – balan