web-dev-qa-db-fra.com

Comment sélectionner une colonne vide (fictive) dans une requête JDatabse UNION

Je combine deux requêtes à l’aide d’une instruction UNION. Je sais que j'ai besoin des deux requêtes pour obtenir le même nombre et le même type d'arguments.

J'ai une requête qui n'a besoin que de trois champs et d'une requête de quatre.

Par exemple, la ligne de sélection de la requête 1 ressemble à ceci

->select ($db->quoteName(array('c.event','b.date','b.type','a.mob')))

la ligne de sélection de la requête 2 ressemble à ceci, XX indique l'endroit où je dois insérer un champ factice:

->select ($db->quoteName(array('b.event','a.date','a.type', XX)))

Quelle est la syntaxe pour insérer un champ factice dans l'instruction select de la deuxième requête, s'il vous plaît?

1
Hannah Smith

Je ne l'ai pas testé (peu de temps), mais je pense que cela devrait ajouter une colonne factice b.mob qui est remplie avec la chaîne 'dummy'.

->select ($db->quoteName(array('b.event','a.date','a.type')))
->select ($db->quote('dummy'). ' AS ' . $db->quoteName('b.mob'))

L'équivalent sql devrait être

SELECT `b.event`, `a.date`, `a.type`, 'dummy' AS `b.mob`
0
user3154108