J'ai ces 2 tables:
Table A Country State ----------------- US OH US FL US WA Table B State LastVisitDate City ---------------------------------- OH 15/10/2019 Bedford FL 10/12/2019 Bell WA 20/09/2019 Perth
4 Réponses :
Toujours essayer d'expliquer votre question avec des données d'échantillon et une requête que vous avez essayée.
Voici requête avec quelques données d'échantillons: p>
SELECT a.COUNTRY,b.LastVisitDate,b.State,b.City FROM A INNER JOIN B ON a.State = b.State WHERE a.COUNTRY = 'US' ORDER BY b.LastVisitDate DESC Limit 1;
Je pense que cette réponse a été une aide complète s'il vous plaît essayez comme ça
Avant d'essayer le code ci-dessous, vous devez être reformat Date de la dernière date visitée forte> Structure de table comme AAAA / MM / DD FORT> dans la table SQL et vous
DOIT remplacer le nom des tables réelles et nom de colonnes dans la requête ci-dessous forte>. p> xxx pré> blockQuote>
SELECT top 1(country,
last_visit_date)
FROM A
JOIN B ON A.State = B.State
WHERE A.Country ="Country Name"
ORDER BY B.Last_visit_Date DESC
S'il vous plaît, lisez Comment répondre au sujet sujet. Étant donné que votre réponse couvre la question, il vaut la peine d'expliquer les détails.
Essayez ceci ci-dessous script-
Remarque: comme dit Tanmay, vous devez reformater vos valeurs de date pour obtenir la sortie correcte. p>
Démo ici P>
SELECT N.country,
N.mx_date LastVisitDate,
B.City,
B.State
FROM
(
SELECT Country,MAX(LastVisitDate) mx_date
FROM Table_A A
INNER JOIN Table_B B ON A.State = B.State
GROUP BY Country
)N
INNER JOIN Table_A A ON A.Country = N.Country
INNER JOIN Table_B B ON A.State = B.State
WHERE N.mx_date = B.LastVisitDate