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.