MySQL INNER üzerinde birleştirerek sonuçları bir PHP diziye KATILIN

0 Cevap php

Ben tüm alanların birine katılmak istiyorum, ama olmaz iki tablo var. Ben İÇ bazı başarı ile JOIN kullandım, ama ihtiyacım kesin sonuçlar elde edemezsiniz. Sonuçlarını döndürmek için PHP kullanarak Esasen, ben 'meta_key' değer olmak anahtarını istiyorum.

Below are the two tables I want to combine:

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           |
+--------+--------+-----------------+------------------+

Below is an example of what I'd like to return:

USERS
+--------+-----------------+------------+------------+------------------+
|   ID   | username        | city       | state      | business_name    |
+--------+-----------------+------------+------------+------------------+
|   2    | hthompson       | New York   | NY         | Company Inc.     |
+--------+-----------------+------------+------------+------------------+

VEYA

$user['ID'] = 2
$user['username'] = hthompson
$user['city'] = New York
$user['state'] = NY
$user['business_name'] = Company Inc.

Ben geldim yakın şudur:

$query = ("SELECT *
 FROM users
 INNER JOIN users_meta ON users.ID = users_meta.UID
 WHERE
 users_meta.meta_key =  'city' VEYA
 users_meta.meta_key =  'state' VEYA
 users_meta.meta_key =  'business_name'
 ");

Ancak, bu tür beyannameler her benzersiz bir kullanıcı kimliği için üç sonuç yapıyor, ve ben belirtilen tüm meta bilgi ile bir dönen amaçlayan ediyorum. Ben USERS.first_name, USERS.first_name ve USERS_META.business_name sütuna uygulamak ve daha sonra belli bir tablo gösteren kimliği sonuçları dönmek bir anahtar kelime kullanarak arama yapmak mümkün olacak, böylece bu temel amacı, İşletme Adı, Şehir Devlet, Birinci & Soyadı.

Şimdiden teşekkürler!

0 Cevap