【问题标题】:Weird accessing SQL data [closed]奇怪的访问 SQL 数据 [关闭]
【发布时间】:2014-01-22 18:12:03
【问题描述】:

这是一个相当奇怪的问题,我没有标题。

这就是我想要做的,看看这张照片:

我需要访问这样的数据

first_name = 拉斐尔

我完全不知道如何做到这一点。

【问题讨论】:

  • 您要放置的条件是什么?我的意思是你有什么来检索数据(其中 first_name ='Raphael' )?还是 umeta_id ?
  • 我需要遍历整个表并回显出first_name的
  • 这个有wordpress功能,但是我不能用wordpress这个

标签: php mysql sql arrays


【解决方案1】:
SELECT meta_value FROM tablename WHERE meta_key = first_name

应该做的伎俩!

如果 meta_key 列显示“first_name”,我们正在做的是选择 meta-value 列中的值

您可以对所有字段执行相同操作

SELECT meta_value FROM tablename WHERE meta_key = admin_color

会从您的屏幕截图中返回“新鲜”。

【讨论】:

  • 非常感谢!解决了我的问题:)
  • 很高兴我能帮上忙 - 如果你想 + 我的回答,代表总是很感激 :-D
【解决方案2】:

如果您需要将名字恰好是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 |昵称 |说明 | |---------|------------|------------|----------|--- ----------| | 19 |拉斐尔 |朗道 |进入| (空) |

这里是SQLFiddle演示

【讨论】:

  • 非常感谢!解决了我的问题:)
  • 还有一件事,我将如何遍历整个表格并执行此操作?
  • 放弃HAVING子句
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-20
  • 2012-12-08
  • 2016-07-21
  • 1970-01-01
  • 2014-10-22
  • 2012-01-01
  • 1970-01-01
相关资源
最近更新 更多