J'ai deux types de bases de données comme,
Db1:
Degrés :
Qualifications:
DB2:
UG_LIST:
prénom
ID
PGLIST:
prénom
ID
DoctorateList:
prénom
ID
Ici la table Degrees est unique. Tous les degrés comme Ug, Pg, doctorat sont stockés dans une table unique appelée Degrees .But Dans la database -2, chaque élément créé en tant que tables distinctes. Je dois donc stocker ces valeurs de trois tables dans la table Qualifications .
J'ai utilisé des jointures pour cela. Mais je ne peux pas créer la requête de sélection pour cela.
SELECT top(50) 'INSERT INTO CandidateQualifications(candidateId,DegreeId,specialization) VALUES('+ Cast(c.CandidateID as varchar(50))+',''' + Isnull(Cast(u.Id as varchar(50)),'NULL') Or cast(p.Id as varchar(50)) or cast(d.Id as varchar(50))+','+ IsNull(''''+c.ugspecification+'''', 'NULL')+')' FROM candidatedetails as c right join UG_List As u ON c.qualification=u.UGName right join PG_List As p ON c.qualification=u.pgname right join Docorate_List As d ON c.qualification=u.docorate
S'il vous plaît dites comment faire cela? J'utilise Ou opérateur mais il n'accepte pas.
Une idée?
Remplacer:
Isnull(Cast(u.Id as varchar(50)),'NULL') Or cast(p.Id as varchar(50)) or cast(d.Id as varchar(50))
Avec:
Cast(Coalesce(u.Id,p.Id,d.Id)as varchar(50))
Je m'attendrais à ce que les jointures soient left
SELECT top(50) 'INSERT INTO CandidateQualifications(candidateId,DegreeId,specialization) VALUES('+ Cast(c.CandidateID as varchar(50))+',''' + Cast(Coalesce(u.Id,p.Id,d.Id)as varchar(50))+','+ IsNull(''''+c.ugspecification+'''', 'NULL')+')' FROM candidatedetails as c LEFT join UG_List As u ON c.qualification=u.UGName LEFT join PG_List As p ON c.qualification=p.pgname LEFT join Docorate_List As d ON c.qualification=d.docorate