0
votes

Microsoft SQL Server Sélectionnez des instructions sur plusieurs tables?

Donc, j'ai eu des difficultés avec certaines des instructions de sélection sur plusieurs tables:

Table des employés P>

SELECT 
   First_Name
   Last_Name 
FROM Employee 

SELECT
   Host_Country_Arrival_Date
   Host_Country_Departure_Date

FROM Assignment;


3 commentaires

Vérifiez votre question à nouveau


Les colonnes dans la partie SELECT doivent être séparées par des virgules.


Vous devez lire sur SQL, mais pour vous aider à démarrer, le tri est effectué en ajoutant une clause par à la fin de la requête SELECT . En outre, vous devrez lire sur rejoindre pour sélectionner les colonnes Nom et les informations de la table d'affectation. Comme l'a noté Alejandro, vous avez besoin de dispers entre les colonnes sélectionnées dans votre requête.


3 Réponses :


3
votes

Donc, fondamentalement, quel est votre code, c'est 2 requêtes différentes. La première obtention de tous les noms des employés et la seconde obtienne les dates des missions.

Ce que vous voudrez faire ici, profitez de la relation entre les tables à l'aide d'une jointure. C'est essentiellement dire "Donnez-moi tous les employés et toutes les assignations de ses hôtes". Donc, pour chaque affectation que l'employé ait, il apportera une ligne dans le résultat avec son nom et les informations d'affectation. P>

Pour avoir la différence entre les jours où vous utilisez DATADIFF en passant 3 paramètres, l'échantillon dans lequel calculer la différence, la première et la deuxième date. Il soustrai ensuite le premier à partir du second et vous donnera le résultat dans la période sélectionnée. P>

et Finnaly Le tri: il suffit d'ajouter 'ordre par' suivi de chaque colonne que vous souhaitez utiliser pour la commande puis spécifiez si vous le souhaitez ascendant (ASC) ou décroissant (DESC). P>

Vous pouvez vérifier comment je voudrais répondre à si cette question m'a été proposée dans un défi de codage. P>

    SELECT 
       CONCAT(E.First_Name,' ',  E.Last_Name) FullName,
       DATEDIFF(DAY,Scheduled_End_Date,getdate()) DaysTillScheduledDate,
       DATEDIFF(DAY,Host_Country_Arrival_Date,Host_Country_Departure_Date) DaysTillScheduledDate
    FROM Employee As E                      --Is nice to add aliases
         Inner Join 
         Assignment As A
          on E.Employee_ID = A.Employee_ID  -- Read a little bit about joins, there are a lot of material availabel an its going to be really necessary moving forward with SQL
    order by Host_Country_Arrival_Date DESC -- Just put the field that you want to order by here, desc indicates that it should be descending


0 commentaires

0
votes

Vous devez rechercher le et groupe par . Veuillez trouver ce lien pour référence Tutoriel

Pour l'instant, vous pouvez essayer ceci ... xxx


0 commentaires

1
votes

Vous devez utiliser un Rejoindre pour relier les tables ensemble sur Employee_id:

SELECT 
   First_Name,
   Last_Name,
   Host_Country_Arrival_Date,
   Host_Country_Departure_Date
FROM Employee 
JOIN Assignment ON Assignment.Employee_ID = Employee.Employee_ID;


0 commentaires