0
votes

SQL pour 2 tables

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


0 commentaires

4 Réponses :


1
votes

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;


1 commentaires

Je pense que cette réponse a été une aide complète s'il vous plaît essayez comme ça



0
votes

Avant d'essayer le code ci-dessous, vous devez être reformat Date de la dernière date visitée Structure de table comme AAAA / MM / DD dans la table SQL et vous DOIT remplacer le nom des tables réelles et nom de colonnes dans la requête ci-dessous . xxx


0 commentaires

0
votes
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

1 commentaires

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.



0
votes

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


0 commentaires