Erreur postgres »Plus d’une ligne renvoyée par une sous-requête utilisée comme expression ».
Systèmes d'information géographiqueContents:
Comment fixer plus d’une ligne retournée par une sous-requête utilisée comme expression ?
Techniquement, pour supprimer l’erreur, ajoutez LIMIT 1 à la sous-requête afin de retourner au maximum une ligne. L’instruction n’aurait toujours pas de sens. En pratique, vous voulez faire correspondre les lignes d’une manière ou d’une autre au lieu de choisir une ligne arbitraire dans le magasin de la table distante pour mettre à jour chaque ligne de votre table locale client .
Que se passe-t-il si plusieurs lignes sont renvoyées par une sous-requête ?
Lorsque la sous-requête renvoie une ou plusieurs lignes de valeurs, la sous-requête n’est évaluée qu’une seule fois, puis la ou les lignes de valeurs sont renvoyées à la requête externe pour être utilisées. La sous-requête par rangée est spécifique à MySQL. Les autres principaux systèmes de bases de données (SQL Server, Oracle, etc.) ne disposent pas de ce type de sous-requête.
Comment écrire une sous-requête dans PostgreSQL ?
Les sous-requêtes doivent être placées entre parenthèses. Une sous-requête ne peut comporter qu’une seule colonne dans la clause SELECT, sauf si plusieurs colonnes sont présentes dans la requête principale pour que la sous-requête puisse comparer les colonnes sélectionnées. Un ORDER BY ne peut pas être utilisé dans une sous-requête, bien que la requête principale puisse utiliser un ORDER BY.
Comment fonctionne une sous-requête dans PostgreSQL ?
Dans PostgreSQL, une sous-requête peut être imbriquée dans une instruction SELECT, INSERT, UPDATE, DELETE, SET ou DO ou dans une autre sous-requête. Une sous-requête est généralement ajoutée dans la clause WHERE d’une autre instruction SQL SELECT. Vous pouvez utiliser les opérateurs de comparaison, tels que >, < ou =. 19 août 2022
Comment corriger Ora 01427 : une sous-requête à une ligne renvoie plus d’une ligne dans SELECT ?
Dmytro a offert ce conseil pour résoudre ORA-01427 : Essayez d’ajouter et rownum=1 à vos conditions de sous-requêtes si vous NE vous souciez PAS de la valeur de la liste ou si vous êtes sûr qu’elles sont identiques. Une sous-requête à une seule ligne ne renvoie qu’une seule ligne. Elle peut être utilisée avec les opérateurs de comparaison égaux (=,<,>,<>, etc.).
Pourquoi la sous-requête renvoie-t-elle plus d’une valeur ? Cela n’est pas autorisé lorsque la sous-requête suit != <= >= ou lorsque la sous-requête est utilisée comme une expression ?
Réponse : Ce message d’erreur apparaît lorsque vous essayez d’utiliser une sous-requête (corrélée ou non) qui renvoie plus d’une valeur à la requête appelante. Cela indique généralement qu’il y a des entrées en double dans la colonne d’une table où l’on s’attend à ce qu’elle soit unique.
Comment limiter le nombre de lignes retournées dans une requête ?
La clause SQL LIMIT limite le nombre de lignes renvoyées par une requête. La syntaxe de la clause LIMIT est la suivante : SELECT * FROM table LIMIT X ;. X représente le nombre d’enregistrements que vous souhaitez extraire. Par exemple, vous pouvez utiliser la clause LIMIT pour récupérer les cinq premiers joueurs d’un classement.
17 décembre 2020
Peut-on avoir plus d’une sous-requête ?
Une sous-requête est une requête complète qui apparaît dans la clause WHERE ou HAVING d’une instruction SQL. Vous pouvez spécifier jusqu’à 16 sous-requêtes dans une seule instruction SQL, et vous pouvez spécifier des sous-requêtes dans une sous-requête. Les sous-requêtes sont exécutées de la dernière à la première place dans l’instruction SQL principale dans laquelle elles apparaissent.
La sous-requête est-elle exécutée pour chaque ligne ?
Chaque sous-requête est exécutée une fois pour chaque ligne de la requête externe. Une sous-requête corrélée est évaluée une fois pour chaque ligne traitée par l’instruction parente. L’instruction parente peut être une instruction SELECT, UPDATE ou DELETE.
11 déc. 2022
Quel opérateur peut être utilisé avec une sous-requête retournant plusieurs lignes ?
Réponse : D. Les sous-requêtes à plusieurs lignes renvoient plusieurs lignes de résultats. Les opérateurs qui peuvent être utilisés avec des sous-requêtes à rangées multiples sont IN, ALL, ANY et EXISTS.
Comment limiter le nombre de lignes retournées dans une requête ?
La clause SQL LIMIT limite le nombre de lignes renvoyées par une requête. La syntaxe de la clause LIMIT est la suivante : SELECT * FROM table LIMIT X ;. X représente le nombre d’enregistrements que vous souhaitez extraire. Par exemple, vous pouvez utiliser la clause LIMIT pour récupérer les cinq premiers joueurs d’un classement.
17 décembre 2020
Quel opérateur est utilisé dans une sous-requête à rangées multiples pour être égal à dans une sous-requête à rangée unique ?
Les opérateurs qui peuvent être utilisés avec des sous-requêtes à une seule ligne sont =, >, >=, <, <= et <>. Les fonctions de groupe peuvent être utilisées dans la sous-requête. Par exemple, l’instruction suivante récupère les détails de l’employé détenant le salaire le plus élevé.
Recent
- SQL Server vers Google Maps
- Enregistrement d’images stéréoscopiques
- Extraction de Lat/Lng à partir de Shapefile en utilisant OGR2OGR/GDAL
- Construction d’une requête dans Nominatim
- Dans Ogr2OGR : qu’est-ce que le SRS ?
- Identification des numéros de port pour ArcGIS Online Basemap ?
- Supprimer les régions indésirables des données cartographiques QGIS
- Attente du vecteur & ; chargement WFS
- Ajout de TravelTime comme impédance dans ArcGIS Network Analyst ?
- Lister le nombre total d’éléments dans une fenêtre pop-up d’éléments d’ArcGIS Online.
- Critères de capacité cartographique
- Carreler un grand fichier raster dans QGIS
- L’interplation QGIS Tin ne fonctionne pas
- Exportation d’un projet QGIS à l’aide de qgis2web