J'ai deux tables que je voudrais joindre en une, mais pas toutes les zones. J'ai utilisé INNER JOIN avec un certain succès, mais je ne peux pas obtenir les résultats exacts dont j'ai besoin. Essentiellement, lorsque j'utilise PHP pour retourner les résultats, j'aimerais que la clé soit la valeur 'meta_key'.Combinaison des résultats sur un INNER JOIN de MySQL dans un seul tableau PHP
Voici les deux tables, je veux combiner:
USERS
+--------+-----------------+------------------+----------------+
| ID | username | first_name | last_name |
+--------+-----------------+------------------+----------------+
| 2 | hthompson | Hunter | Thompson |
| 7 | coak | Carol | Oak |
| 8 | delk | Dannie | Elk |
| 9 | mride | Mark | Ride |
| 10 | kken | Kyle | Ken |
| 11 | glee | Ginny | Lee |
| 12 | nwatts | Naomi | Watts |
| 13 | jwong | Jin | Wong |
| 14 | syin | Shen | Yin |
+--------+-----------------+------------------+----------------+
USERS_META
+--------+--------+-----------------+------------------+
| ID | UID | meta_key | meta_value |
+--------+--------+-----------------+------------------+
| 1 | 2 | business_name | Company Inc. |
| 2 | 2 | city | New York |
| 3 | 2 | state | NY |
| 5 | 9 | city | Boston |
| 6 | 9 | state | MA |
| 7 | 11 | business_type | Printer |
| 8 | 8 | chamber_member | true |
| 9 | 2 | business_type | Design |
+--------+--------+-----------------+------------------+
Voici un exemple de ce que je voudrais revenir:
USERS
+--------+-----------------+------------+------------+------------------+
| ID | username | city | state | business_name |
+--------+-----------------+------------+------------+------------------+
| 2 | hthompson | New York | NY | Company Inc. |
+--------+-----------------+------------+------------+------------------+
OU
$user['ID'] = 2
$user['username'] = hthompson
$user['city'] = New York
$user['state'] = NY
$user['business_name'] = Company Inc.
Le plus proche j'ai com e est la suivante:
$query = ("SELECT *
FROM users
INNER JOIN users_meta ON users.ID = users_meta.UID
WHERE
users_meta.meta_key = 'city' OR
users_meta.meta_key = 'state' OR
users_meta.meta_key = 'business_name'
");
Cependant, faire ces déclarations trois résultats pour chaque ID d'utilisateur unique, et je vise à retourner une avec toutes les informations méta spécifié. Le but principal de ceci est que je serai capable de rechercher en utilisant un mot-clé, qui s'appliquerait aux colonnes USERS.first_name, USERS.first_name et USERS_META.business_name et puis renverrait évidemment les résultats dans une table montrant l'identification, le nom d'entreprise, la ville , State, First & Nom de famille.
Merci d'avance!