Question

create table maintable comme select curr_Table.empID comme EMPID,     (currTable.ToTalDays-oldTable.ToTalDays) comme DiffDays     de currTable jointure externe gauche OldTable     sur currTable.empID = oldTable.empID

Ceci est la requête que je l'utilise pour trouver les jours travaillés par un employé.

Le problème soulève quand il y a « New Joinee ». « OldTable.ToTalDays » n'auront aucune valeur aucun document ne sera trouvé pour « New Joinee » dans OldTable. Donc, pour ce DiffDays d'enregistrement (Integer null) résultats est égale à zéro au lieu de jours au total courant.

Une manière de résoudre ce problème?

Était-ce utile?

La solution

create table mainTable as
select curr_Table.empID as empID,
       (currTable.ToTalDays - ifnull(oldTable.ToTalDays, 0)) as DiffDays 
  from currTable
         left outer join
       oldTable  on currTable.empID = oldTable.empID

Autres conseils

Pas tout à fait sûr de celui-ci, mais je ne pense pas que MySQL permet

CREATE TABLE AS SELECT ...

genre de choses. DoubleCheck le manuel sur celui . Ont vu de telles requêtes sur Postgres, mais ne me souviens pas de tels ceux sur MySQL ...

EDIT:

a effectué le double contrôle trop et doivent admettre que CREATE TABLE AS SELECT ... fonctionne en acte. Nevermind, va prendre un café ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top