Utilisation de la clause BY pour demander l'ID du document - Base de données Amazon Quantum Ledger (AmazonQLDB)

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 demander l'ID du document

Important

Avis de fin de support : les clients existants pourront utiliser Amazon QLDB jusqu'à la fin du support le 31 juillet 2025. Pour plus de détails, consultez Migrer un Amazon QLDB Ledger vers Amazon Aurora SQL Postgre.

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

Le id 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 en utilisant la BY 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 il s'agit d'un alias défini par l'utilisateur déclaré dans la FROM clause à l'aide du BY mot clé. Cet r_id alias est lié au champ de id métadonnées de chaque document du jeu de résultats de la requête. Vous pouvez utiliser cet alias dans la SELECT clause ainsi que dans la WHERE 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.

Rejoindre sur le document ID

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

L'exemple suivant joint deux tables nommées DriversLicense et Person dans leurs PersonId id champs de document respectivement, en utilisant la BY clause correspondante.

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 àMettre à jour et supprimer des documents.