当前位置: 首页 > 面试题库 >

从MySQL中的键值对表中检索数据

司空瑾瑜
2023-03-14
问题内容

我有两个表,一个叫customer,一个叫customer_attributes

这个想法是,客户表包含核心客户数据,并且可以根据应用程序的用途对应用程序进行自定义以支持其他属性。

customer_attributes 有以下3列:

customerID
key1
value1

我是否可以检索整行,如果指定了其他任何属性,如果没有,则默认为NULL?我正在使用以下查询,但只有两个属性都存在于customer_attributes表中时,它才有效。

SELECT `customer`.*, `ca1`.`value1` AS `wedding_date`, `ca2`.`value1` AS `test` 
FROM `customer` 
LEFT JOIN `customer_attributes` AS `ca1` ON customer.customerID = ca1.customerID 
LEFT JOIN `customer_attributes` AS `ca2` ON customer.customerID = ca2.customerID 
WHERE (customer.customerID = '58029') 
   AND (ca1.key1 = 'wedding_date') 
   AND (ca2.key1 = 'test')

在这种情况下,我感兴趣的两个属性称为“ wedding_date”和“ test”


问题答案:

试试这个:

SELECT `customer`.*, `ca1`.`value1` AS `wedding_date`, `ca2`.`value1` AS `test` 
FROM `customer` 
LEFT JOIN `customer_attributes` AS `ca1` ON customer.customerID = ca1.customerID  AND ca1.key1='wedding_date'
LEFT JOIN `customer_attributes` AS `ca2` ON customer.customerID = ca2.customerID AND ca2.key1='test'
WHERE (customer.customerID = '58029')

将ca1 / ca2上的2个WHERE条件移到JOIN条件中,应对其进行排序



 类似资料:
  • 问题内容: 我有一个问题想寻求您的专业知识。 这是我拥有的JSON数组: 我想做的是从JSON数组而不是值中检索键(A,B,C,D,E)。我能够检索值,但不能检索键。 我正在使用它来动态检索值: 同样,我应该怎么做才能使用JavaScript 检索 密钥 ? 问题答案: 您是否按照标签所暗示的那样使用D3.js?因为在这种情况下,您可以使用: 如果您想要所有值的总和,最好使用和:

  • 问题内容: 我有对象的Postgres JSONB数组,看起来像这样: 此JSONB是一个函数参数。 什么是最有效的检索方法 。 我尝试过玩,但是到目前为止我所做的一切看起来都非常混乱。 问题答案: 在 Postgres 9.4+中 ,可以在横向 联接中 使用该函数: 您可以通过一个简单的函数来实现该想法,例如: 在 Postgres 12+中, 您可以使用jsonb路径函数的形式来替代: Db

  • 有没有人知道我可以使用PHP从MySql数据库中的两个表中获取数据的方法?我的android应用程序允许用户在购物车(MySql中的表)中放置物品。当用户点击应用程序中的购物车按钮时,它会加载“购物车activity”,并根据“会话ID”或“客户ID”(如果他们已经登录)加载一个列表视图,其中包含他们添加到购物车中的所有内容。我现在所做的是,当项目被添加到购物车时,我捕获产品ID、产品名称、图像U

  • 今天好,这有点让我迷惑(大脑冻结!)好像少了些什么。有一个我用HashMap填充的ArrayList。现在我放入了我的HashMap和ArrayList。 由于am解析JSON,arraylist的大小显著增加。现在我的问题是如何从ArrayList中的两个映射键中获得值?我试过这个 但我似乎不能得到所有的值。映射大小总是返回值2,这只是元素。如何从ArrayList中的映射键获取所有值?谢谢

  • 本文向大家介绍从SAP ABAP中的表中检索数据,包括了从SAP ABAP中的表中检索数据的使用技巧和注意事项,需要的朋友参考一下 通常,在ABAP中,您使用OpenSql语句来检索数据。OpenSql语句类似于普通的SQL语句。 如果需要在远程系统上使用功能模块,则需要使用诸如RFC_READ_TABLE之类的远程功能调用。它也使您可以查询远程呼叫中的数据。

  • 我有一个带有键和值的哈希映射(整数数组)