2010-01-19 3 views
0

Nom de la table :: Feedback_masterComment récupérer un enregistrement particulier de trois tableaux

champs 1. FEED_ID 2. roll_id 3. BATCH_ID 4. sem_id (ID semestre) 5.f_id (Faculté Id) 6. SUB_ID (sujet Id) 7. remarque. 8. b_id

Nom de la table :: subject_master

Les champs

  1. SUB_ID (sujet Id)
  2. sub_name (Objet NAME0
  3. F_ID (Faculté ID)

Table Nom :: faculty_master

Les champs

  1. F_ID (Faculté Id)
  2. f_name (Faculté Nom)
  3. L_Name (Faculté Nom)
  4. b_id

Ce sont les trois tables. Maintenant, je veux aller chercher les détails de cette table.

Je veux la sortie comme

f_name (nom du corps professoral), sub_name (Nom Sujet) et remarque (remarque) quand je donne la (id faculté) F_ID

pourrait quelqu'un me aider à plus viens ce problème.

Répondre

0

Utilisation d'objets

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

UHE, MySQL je suppose?

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

select fm.f_name, sm.sub_name, remarque de fm faculty_master gauche rejoindre sub_master mc sur fm.f_id = sm.f_id gauche rejoindre feedback_master pmp sur sm.sub_id = fbm.sub_id où fm.f_id = 123

0

Vous pouvez construire la requête par étapes. La première chose est que vous êtes après une liste des remarques de rétroaction, donc commencer par ce simple select query:

SELECT * FROM Feedback_master 

C'est la liste de tous les commentaires de partout, mais vous voulez limiter seulement des commentaires sur un particulier faculté, donc nous allons ajouter un Where clause:

SELECT * FROM Feedback_master 
    WHERE Feedback_master.f_id = @f_id 

maintenant, nous avons la liste de droite des dossiers, mais la liste des champs est erroné.Vous voulez le nom de la faculté et le nom du sujet, qui ne figurent pas dans la table Feedback_master; les tables de subject_master et faculty_master sont liés et en supposant que chaque remarque a un ID de sujet et une pièce d'identité du corps professoral, nous pouvons utiliser un simple inner join pour relier les tables:

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 

Maintenant, il est tirant tous les champs de tous les trois tables ; cela inclut tous les champs dont nous avons besoin, donc nous pouvons maintenant simplement les nommer dans la clause 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 
Questions connexes