Sélectionner des constantes sans faire référence à une table est parfaitement légal dans une instruction SQL:
SELECT 1, 2, 3
L'ensemble de résultats que ce dernier renvoie est une seule ligne contenant les valeurs. Je me demandais s'il existe un moyen de sélectionner plusieurs lignes à la fois en utilisant une expression constante, quelque chose comme:
SELECT ((1, 2, 3), (4, 5, 6), (7, 8, 9))
Je voudrais quelque chose comme celui ci-dessus qui fonctionne et renvoie un jeu de résultats avec 3 lignes et 3 colonnes.
Réponses:
la source
AS
pour donner des alias le premierSELECT
Classic Report
tables avec un contenu statique, si elles sont complétéesFROM dual
après chacuneSELECT
, des valeurs et avantUNION ALL
si elles sont présentes.Dans
PostgreSQL
, vous pouvez faire:Dans d'autres systèmes, utilisez simplement
UNION ALL
:Dans
Oracle
,SQL Server
etPostgreSQL
, vous pouvez également générer des jeux d'enregistrements d'un nombre arbitraire de lignes (pouvant être fournis avec une variable externe):dans
Oracle
,dans
SQL Server
,dans
PostgreSQL
.la source
SELECT 1
dans Oracle (SELECT 1 FROM Dual
travaillé).La
VALUES
commande nue suivante fonctionne pour moi dans PostgreSQL:la source
Essayez la clause connect by dans oracle, quelque chose comme ça
Pour plus d'informations sur la clause connect by, suivez ce lien: URL supprimée car le site oraclebin est désormais malveillant.
la source
Pour Microsoft SQL Server ou PostgreSQL, vous pouvez essayer cette syntaxe
SELECT constants FROM (VALUES ('[email protected]'), ('[email protected]'), ('[email protected]')) AS MyTable(constants)
Vous pouvez également afficher un SQL Fiddle ici: http://www.sqlfiddle.com/#!17/9eecb/34703/0
la source
Oracle. Merci à cet article PL / SQL - Utiliser la variable "Liste" dans la clause Where In
J'ai rassemblé mon exemple de déclaration pour saisir facilement manuellement des valeurs (réutilisées lors du test d'une application par des testeurs):
la source
la source
Voici comment remplir des données statiques dans Oracle 10+ à l'aide d'une astuce XML soignée.
La fusion insère uniquement les lignes manquantes dans la table d'origine, ce qui est pratique si vous souhaitez réexécuter votre script d'insertion.
la source
Une option pour DB2:
la source
Dans Oracle
la source
Voici comment procéder à l'aide des fonctionnalités XML de DB2
la source
Cette façon peut vous aider
Any_Table_In_Your_DataBase:
n'importe quelle table contenant plus de 3 enregistrements, ou utilisez n'importe quelle table système. Ici, nous n'avons aucun souci avec les données de ce tableau.Vous pouvez apporter des variations dans l'ensemble de résultats en concaténant une colonne avec les première, deuxième et troisième colonnes de la
Any_Table_In_Your_DataBase
table.la source
Dans MySQL, vous pouvez faire:
values (1,2), (3, 4);
Avec MySQL 8, il est également possible de donner les noms des colonnes:
la source
quelque chose comme ca
la source