mysql两个数组组合_mysql-连接-将结果合并为单个多维数组

我正在执行将两个表连接在一起的简单查询.我得到的是这样的东西.

array(

[0] => array(

'id' => 52

'name' => 'charles',

'sale_id' => 921,

'sale_time' => 1306393996,

'sale_price' => 54.21

),

[1] => array(

'id' => 52

'name' => 'charles',

'sale_id' => 922,

'sale_time' => 1306395000,

'sale_price' => 32.41

),

...

);

…这是预期的结果.但是,我希望查询返回如下内容:

array(

[0] => array(

'id' => 52,

'name' => 'charles',

'sales' => array(

[0] => array(

'sale_id' => 921,

'sale_time' => 1306393996,

'sale_price' => 54.21

),

[1] => array(

'sale_id' => 922,

'sale_time' => 1306395000,

'sale_price' => 32.41

),

...

)

)

)

现在我意识到我可以简单地执行两个查询,一个查询用户信息,另一个查询销售,然后使用我使用的任何语言(在本例中为PHP)将这些数组合并在一起.但是我有很多属性,查询和合并这些属性对我来说似乎非常笨拙(尽管它确实有效).在我看来,有一种方法可以处理单个统一对象而无需复制数据.

只是想知道是否存在不费吹灰之力的查询,或者仅通过MySQL很难做到这一点.

解决方法:

我会说仅靠MySQL是不可能的-您必须在应用程序级别上做一些技巧.也就是说,因为即使您发送一个查询,即可将所有数据从MySQL带到应用程序(PHP),但它们将作为非规范化数据数组出现-您的第一种情况.

如果要在第二种情况下获取数据,我建议使用一些ORM-在Ruby中有ActiveRecord,在Perl中有Class :: DBi,DBIx :: Class等等-我不能为它命名PHP可以做到这一点,但是我敢肯定有很多.

标签:mysql

来源: https://codeday.me/bug/20191208/2090922.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值