0
votes

Sous-pérature Connecter un identifiant unique pour nommer les problèmes

J'ai deux tables en question. J'essaie de trouver les noms des pilotes qui avaient plus de 3 emplacements affectés en 2018.

Table TaxiPilot P>

p_fname  p_lname  count(a.p_id)
Joe      Smith    5


0 commentaires

5 Réponses :


0
votes

Qu'essayez-vous de faire à ce sujet?:

    Select count(a.p_id)
from assignment
where AssignDate between "01/01/2018" and "12/31/2018"
group by a.p_id
having count(a.p_id) > 3


1 commentaires

Bonjour, j'essaie de tirer leur prénom et son nom de famille en plus du nombre de fois où ils ont été embauchés.



0
votes

Dans ce cas, ce serait quelque chose comme ça (je ne l'ai pas testé): xxx


1 commentaires

Ceci est sur la bonne voie, cependant, le comte apparaît comme null.



0
votes

Je pense que la simple agrégation fonctionnera si vous lancez les dates. dbfiddle xxx


0 commentaires

0
votes
with paste as (
select 
p_id, count(a.p_id) 
from assignment
group by 1
having count(*) > 3
)

select p_lname,  p_fname, max(HireNo)
from taxiPilot 
where p_id in (select p_id from paste)
group by 1, 2
Haven't tried though. 

0 commentaires

0
votes

Premièrement, vous étiez sur la bonne idée, mais votre sous-requête n'était pas corrélée à un seul pilote. Vous venez de saisir toutes les missions entre la date, mais n'avait aucune corrélation dont pilote. Donc, vous auriez pu avoir un compte de 273 à travers tous les pilotes.

Au lieu de cela, vous pouvez ajouter l'identifiant pilote dans la sous-requête, puis rejoindre en dehors de cela. De cette façon, vous n'essayez pas de tirer tous les pilotes. Obtenez ceux qui qualifiés, puis obtenez les noms. P>

select
      tp.p_fname,
      tp.p_lname,
      PQ.NumHires
   from
      ( select a.p_id, count(*) NumHires
           from Assignment a
           where a.AssignDate between '2018-01-01' and '2018-12-31'
           group by a.p_id 
           having count(*) > 3) PQ
         JOIN taxiPilot tp
            on PQ.p_id = tp.p_id
   order by
      tp.p_lname,
      tp.p_fname


0 commentaires