2017-02-12 78 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

通過在while循環我用系統印碼使用結果集rs.next()執行查詢後.out.print它沒有打印任何東西 – balan

+0

你的問題只是詢問有關查詢。根據我們提供的信息,上面的一個是正確的,在頁面上的其他幾個查詢也是如此。如果有其他信息需要我們回答這個問題,您必須告訴我們。你沒有提到任何關於一段時間的問題 – kbball

+0

是的,我會,.sry – balan

0

你應該做一個連接表(內 - 右 - 左或完整,取決於你的表)。

像:在一個加入on部分

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

您可以指定多個條件。例如:

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; 
相關問題