J'ai deux tables différentes pour obtenir des enregistrements dans une seule requête. Actuellement, j'utilise 2 requêtes puis fusionner le résultat du tableau et ensuite afficher l'enregistrement. À la suite de mon code actuel:Requête unique pour extraire des enregistrements de plusieurs tables avec des colonnes différentes
$db = JFactory::getDbo();
$query1 = "SELECT a.id as cId, a.title, a.parent_id,a.level FROM `categories` AS a WHERE (a.title LIKE '%keyword%')";
$result1 = $db->setQuery($query1)->loadObjectlist(); //gives selected records
$query2 = "SELECT b.id as indId, b.indicator , b.cat_id, b.subcat_id, b.section_id FROM `indicator` as b WHERE (b.indicator LIKE '%keyword%')";
$result2 = $db->setQuery($query2)->loadObjectlist(); //gives selected records
$_items = array_merge($result1,$result2); //then using $_items in php code to display the data
Il est dans Joomla mais je veux juste savoir comment nous pouvons fusionner ces 2 requêtes en une seule. J'ai essayé le suivant mais il donne le résultat de la première requête de la table des catégories.
(SELECT id as cId, title, parent_id,level, NULL FROM `categories` WHERE (title LIKE '%birth%'))
UNION ALL
(SELECT id as indId, indicator , cat_id, subcat_id, section_id FROM `indicator` WHERE (indicator LIKE '%birth%'))
sortie souhaitée:
+------+-------------+------------+--------+--------+----------------+--------+-----------+----------+
| cId | title | parent_id | level | indId | indicator | cat_id | subcat_id | section_id
+------+-------------+------------+--------+--------+----------------+--------+-----------+----------+
| 2874 | births | 2703 | 2 | null | null | null | null | null |
+------+-------------+------------+--------+--------+----------------+--------+-----------+----------+
| 13 | birth weight| 12 | 3 | null | null | null | null | null |
+------+-------------+------------+--------+--------+----------------+--------+-----------+----------+
| null | null | null | null | 135 | resident births| 23 | 25 | 1 |
+------+-------------+------------+--------+--------+----------------+--------+-----------+----------+
| null | null | null | null | 189 | births summary | 23 | 25 | 1 |
+------+-------------+------------+--------+--------+----------------+--------+-----------+----------+
Cette sortie ci-dessus vous aidera à obtenir les dossiers de paginations appropriés. J'ai essayé d'utiliser join mais JOIN a besoin d'une colonne commune dans ON clause
. Ici, je veux toutes les colonnes et leurs valeurs. Fondamentalement, je veux combiner les 2 enregistrements de la table dans une requête. Toute aide serait appréciée
Utilisez le concept de 'JOIN' requête – Sinto
je pensais à cela, mais rejoindre aurait besoin de toute colonne commune et ici, je n'ai pas de colonne commune. Je veux toutes les colonnes –