2010-01-19 46 views
0
取一個特定的記錄

表姓名:: Feedback_master如何從三個表

字段1. FEED_ID 2. roll_id 3. BATCH_ID 4. sem_id(學期ID)5.f_id(教師Id)的6 sub_id(視Id)7.評論。 8. B_ID

表姓名:: subject_master

字段

  1. sub_id(主體ID)
  2. sub_name(題目NAME0
  3. F_ID(學部ID)

表Name :: faculty_master

字段

  1. F_ID(學部Id)的
  2. f_name(系名)
  3. l_name(系名)
  4. B_ID

這是三個表。現在我想從這三張表中獲取細節。

我想要的輸出

f_Name(教師名),Sub_name(主題名稱),並備註(備註)當我給(教師ID)F_ID

能有人幫我了出現這個問題。

回答

0

使用對象

Select T1.f_name, T2.sub_name, T3.remark from faculty_master as T1, 
subject_master as T2, Feedback_master as T3 where T1.f_id = 'your faculty_id' 
and T1.f_id = T3.f_id and T2.sub_id = T3.sub_id 
0

高濃縮鈾,MySQL的我猜?

SELECT f_name, sub_name, remark 
FROM faculty_master 
LEFT JOIN subject_master USING(f_id) 
LEFT JOIN Feedback_master USING(f_id) 
WHERE f_id = the_id_you_want 
0

選擇fm.f_name,sm.sub_name,從faculty_master FM的話留 上fm.f_id = sm.f_id 加入sub_master SM左加入feedback_master FBM上 sm.sub_id = fbm.sub_id 其中fm.f_id = 123

0

您可以分階段構建查詢。的第一件事是,你反饋的言論名單後,所以用這個簡單的select query開始:

SELECT * FROM Feedback_master 

這是列出來自各地的反饋,但要限制它僅反饋在特定教師,所以讓我們添加一個Where clause

SELECT * FROM Feedback_master 
    WHERE Feedback_master.f_id = @f_id 

現在,我們已經有了一個記錄的權利清單,但字段列表是錯誤的。你想要在Feedback_master表中沒有的教師姓名和科目名稱;在subject_master和faculty_master錶鏈接,並假設每一句話都有一個主題ID和教師ID,我們可以用一個簡單的inner join到鏈接表:

SELECT * FROM Feedback_master 
    INNER JOIN subject_master ON Feedback_master.sub_id = subject_master.sub_id 
    INNER JOIN faculty_master ON Feedback_master.f_id = faculty_master.f_id 
    WHERE Feedback_master.f_id = @f_id 

現在它拉出所有字段從所有三個表;這包括所有我們需要的領域,所以我們現在可以簡單地命名它們在SELECT子句中:

SELECT 
    faculty_master.f_name, subject_master.sub_name, Feeback_master.remark 
FROM Feedback_master 
    INNER JOIN subject_master ON Feedback_master.sub_id = subject_master.sub_id 
    INNER JOIN faculty_master ON Feedback_master.f_id = faculty_master.f_id 
WHERE Feedback_master.f_id = @f_id