Utilisation de la clause BY pour interroger l'ID du document - Amazon Quantum Ledger Database (Amazon QLDB)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de la clause BY pour interroger l'ID du document

Bien que vous puissiez définir des champs destinés à être des identifiants uniques (par exemple, le VIN d'un véhicule), le véritable identifiant unique d'un document est le champ deid métadonnées, comme décrit dansInsertion de documents. C'est pourquoi vous pouvez utiliser leid champ pour créer des relations entre les tables.

Leid champ du document est directement accessible uniquement dans la vue validée, mais vous pouvez également le projeter dans la vue utilisateur par défaut à l'aide de laBY clause. Pour un exemple, consultez la requête suivante et ses résultats.

SELECT r_id, r.VIN, r.LicensePlateNumber, r.State, r.City, r.Owners FROM VehicleRegistration AS r BY r_id WHERE r_id = '3Qv67yjXEwB9SjmvkuG6Cp'
{ r_id: "3Qv67yjXEwB9SjmvkuG6Cp", VIN: "1N4AL11D75C109151", LicensePlateNumber: "LEWISR261LL", State: "WA", City: "Seattle", Owners: { PrimaryOwner: { PersonId: "294jJ3YUoH1IEEm8GSabOs" }, SecondaryOwners: [{ PersonId: "5Ufgdlnj06gF5CWcOIu64s" }] } }

Dans cette requête,r_id se trouve un alias défini par l'utilisateur qui est déclaré dans laFROM clause, à l'aide duBY mot clé. Cetr_id alias est lié au champ deid métadonnées de chaque document du jeu de résultats de la requête. Vous pouvez utiliser cet alias dans laSELECT clause ainsi que dans laWHERE clause d'une requête dans la vue utilisateur.

Pour accéder à d'autres attributs de métadonnées, vous devez toutefois interroger la vue validée.

Adhésion via un numéro de document

Supposons que vous utilisiez le documentid d'une table comme clé étrangère dans un champ défini par l'utilisateur d'une autre table. Vous pouvez utiliser laBY clause pour écrire une requête de jointure interne pour les deux tables de ces champs (commeRejoindre les points de vue des utilisateurs et des utilisateurs dans la rubrique précédente).

L'exemple suivant joint deux tables nomméesDriversLicense etPerson sur leurPersonIdid champ de document, respectivement, à l'aide de laBY clause correspondant à ce dernier.

SELECT * FROM DriversLicense AS d INNER JOIN Person AS p BY pid ON d.PersonId = pid WHERE pid = '1CWScY2qHYI9G88C2SjvtH'

Pour savoir comment apporter des modifications à un document de votre tableau, passez àMise à jour et suppression de documents.