recherche

Maison  >  Questions et réponses  >  le corps du texte

SQL - Comment obtenir la dernière entrée entre deux tables différentes ? (L'horodatage n'est pas stocké)

Je travaille sur un projet en cours sur lequel je travaille 引号, la structure de la base de données n'est pas bien organisée et je ne peux pas apporter beaucoup de modifications au schéma de la base de données pour le corriger.

Dans la base de données :

Tableau 1 常规引号

id | name | quoteno | status  | .....|
------------------------------------------
1  | name1| RQ-909099 | pending  | .....|
2  | name2| RQ-800099 | pending  | .....|
3  | name3| RQ-965099 | approved | .....|

Tableau 2 premium_quotes

id | name | quoteno | status  | .....|
------------------------------------------
1  | name1| PQ-209099 | pending  | .....|
2  | name2| PQ-300099 | pending  | .....|
3  | name3| PQ-965099 | pending  | .....|

Ce que j'ai fait c'est :

Mais le fait est qu'ils ne veulent pas que je modifie la base de données. Et je ne pense pas que cela soit possible dans le scénario actuel.

Existe-t-il un moyen d'obtenir les dernières cotations pour ces tables ? Cela peut être regular_quotes ou regular_quotespremium_quotes

Merci !

P粉244155277P粉244155277442 Il y a quelques jours589

répondre à tous(1)je répondrai

  • P粉956441054

    P粉9564410542023-09-07 15:52:41

    Sans aucune colonne d'horodatage, il est en fait impossible de déterminer laquelle des deux tables contient la dernière entrée de cotation. Nous pouvons essayer quelques astuces, mais votre situation déterminera si elles sont dignes de confiance.

    Une solution consiste à vérifier si les identifiants sont attribués dans l'ordre et puisque vous connaissez le dernier identifiant dans les deux tableaux, vous pouvez les comparer pour déterminer quelle table a le dernier devis. Par exemple, si le tableau regular_quotes 表中最新的 id3,并且 regular_quotes 表中最新的 id >premium_quotes表为5,可以断定premium_quotes contient les dernières cotations.

    SELECT MAX(id) AS latest_regular_quotes_id FROM regular_quotes;
    
    
    SELECT MAX(id) AS latest_premium_quotes_id FROM premium_quotes;

    Ceux-ci renverront la valeur d’ID la plus élevée dans chaque table. Vous pouvez comparer ces deux valeurs pour déterminer quelle table contient les dernières cotations, id ayant la valeur la plus élevée.

    Idéalement, vous souhaiterez peut-être demander à un administrateur de résoudre ce problème.

    J'espère que cela vous sera utile.

    répondre
    0
  • Annulerrépondre