【问题标题】:multi dimensional mysql select?多维mysql选择?
【发布时间】:2015-03-28 17:35:36
【问题描述】:
table: car_profile
carid, carname, caryear, cartype

table: user_profile
userid, username, useremail

table: user_car
id, carid, userid, status
FC: carid, userid

一个carid可以有多个userid在表user_car(一辆车可以多人使用)

给定carid,我想选择caryearcartype[userid, username, useremail]。括号内的那个本身应该是一个数组,因为多个userid 是可能的。我不确定这是否可行?

【问题讨论】:

    标签: mysql join multidimensional-array


    【解决方案1】:

    SELECT 可以返回单个值、一行值或一行表。没有更高维度的选择。下面,多个useridusernameuseremail 将显示在不同的行中。

    SELECT cp.caryear, cp.cartype, up.userid, up.username, up.useremail
    FROM car_profile as cp
    LEFT JOIN user_car as uc
    ON uc.carid = cp.carid 
    LEFT JOIN user_profile as up
    ON uc.userid = up.userid
    WHERE cp.carid = carid
    ORDER BY cp.caryear, cp.cartype
    

    【讨论】:

    • 如果你添加一个ORDER BY cp.caryear, cp.cartype,那么所有对应于一个汽车年份和汽车类型的结果将依次出现,并且进行查询的程序可以使用它来构建一个数组。
    • @peschü:谢谢你的建议。
    • 谢谢。我做了同样的事情,然后将它们重新排列成后端的关联数组。我会将此作为已接受的答案。
    猜你喜欢
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-13
    • 2021-10-28
    • 2013-10-12
    • 2013-11-08
    相关资源
    最近更新 更多