Compte tenu des données d'exemple suivant:SQL JOIN seulement le casse-tête de ligne maximale
Users
+--------------------------------------------------+
| ID | First Name | Last Name | Network Identifier |
+--------------------------------------------------+
| 1 | Billy | O'Neal | bro4 |
+----+------------+-----------+--------------------+
| 2 | John | Skeet | jsk1 |
+----+------------+-----------+--------------------+
Hardware
+----+-------------------+---------------+
| ID | Hardware Name | Serial Number |
+----------------------------------------+
| 1 | Latitude E6500 | 5555555 |
+----+-------------------+---------------+
| 2 | Latitude E6200 | 2222222 |
+----+-------------------+---------------+
HardwareAssignments
+---------+-------------+-------------+
| User ID | Hardware ID | Assigned On |
+-------------------------------------+
| 1 | 1 | April 1 |
+---------+-------------+-------------+
| 1 | 2 | April 10 |
+---------+-------------+-------------+
| 2 | 2 | April 1 |
+---------+-------------+-------------+
| 2 | 1 | April 11 |
+---------+-------------+-------------+
Je voudrais écrire une requête SQL qui donne le résultat suivant:
+--------------------+------------+-----------+----------------+---------------+-------------+
| Network Identifier | First Name | Last Name | Hardware Name | Serial Number | Assigned On |
+--------------------------------------------------------------------------------------------+
| bro4 | Billy | O'Neal | Latitude E6200 | 2222222 | April 10 |
+--------------------+------------+-----------+----------------+---------------+-------------+
| jsk1 | John | Skeet | Latitude E6500 | 5555555 | April 11 |
+--------------------+------------+-----------+----------------+---------------+-------------+
Mon problème est que la date maximale "Affecté sur" pour chaque utilisateur doit être sélectionnée pour chaque utilisateur individuel et utilisée pour la jointure réelle ...
Existe-t-il une manière intelligente d'accomplir cela en SQL?
Vous avez donc le vieux portable de Jon Skeet? Kewl! – APC
@APC: Oui! La société pensait qu'il passait trop de temps sur StackOverflow ... :) –