2014-01-05 4 views
-4

Это довольно странный вопрос, и у меня нет названия для него.Странный доступ к данным SQL

Это то, что я пытаюсь сделать, посмотрите на эту картину: enter image description here

Мне нужно получить доступ к данным, как этот

first_name = Рафаэль

И я совершенно не знаю, как для достижения этой цели.

+0

Какое состояние вы хотите разместить? Я имею в виду, что у вас есть, чтобы получить данные (где first_name = 'Raphael')? или umeta_id? – dev

+0

Мне нужно зациклиться на всей таблице и отобразить первое имя_файла – Mario

+0

. Для этого есть функция wordpress, но я не могу использовать wordpress для этого – Mario

ответ

0
SELECT meta_value FROM tablename WHERE meta_key = first_name 

Должен сделать трюк!

Что мы делаем, выбрав значение в столбце мета-значение, если столбец meta_key говорит «first_name»

Вы можете сделать то же самое для всех полей

SELECT meta_value FROM tablename WHERE meta_key = admin_color 

вернуться бы «свежей» с вашего экрана.

+0

Большое вам спасибо! Исправлена ​​моя проблема :) – Mario

+0

Рад, что я мог бы помочь - если вы хотите + мой ответ, репутация всегда оценивается :-D –

0

Если вам нужно, чтобы объединить все/некоторые атрибуты пользователя, чье имя было быть Raphael, то вы можете сделать это с условной агрегации как этот

SELECT user_id, 
     MAX(CASE WHEN meta_key = 'first_name' then meta_value END) first_name, 
     MAX(CASE WHEN meta_key = 'last_name' then meta_value END) last_name, 
     MAX(CASE WHEN meta_key = 'nickname' then meta_value END) nickname, 
     MAX(CASE WHEN meta_key = 'description' then meta_value END) description, 
     ... 
    FROM wp_usermeta 
GROUP BY user_id 
HAVING MAX(meta_key = 'first_name' AND 
      meta_value = 'Raphael') > 0 

Образец продукции:

 
| USER_ID | FIRST_NAME | LAST_NAME | NICKNAME | DESCRIPTION | 
|---------|------------|-----------|----------|-------------| 
|  19 | Raphael | Landau | enterseo |  (null) | 

Вот SQLFiddle demo

+0

Большое спасибо! Исправлена ​​моя проблема :) – Mario

+0

Еще одна вещь, как мне пройти через всю таблицу и сделать это? – Mario

+0

Просто оговорка 'HAVING' – peterm

Смежные вопросы