I 열 이름 => 열 값을 가진 서브 어레이로 하나 개의 질의를 사용하여 테이블에 참여하려고 .. 데이터빌 MySQL의 필드 이름과 서브 어레이 조인
짧은 테이블 (1) "사용자"구조 :
user_id email ...
1 [email protected] ...
2 [email protected] ...
은 데이터
짧은 테이블 (2) "users_permissions"구조 :
user_id plugin_enter offers_view ...
1 1 0 ...
2 1 1 ...
내가 고전적인 방법을 사용하는 경우는 - 왼쪽 조인
,SELECT `uperms`.*, `u`.*
FROM (`users` as u)
LEFT JOIN `users_permissions` as uperms ON `u`.`user_id` = `uperms`.`user_id`
나는 고전적인 출력을 얻을
[0] = array(
'user_id' => 1,
'email' => [email protected],
'plugin_enter' => 1,
'offers_view' => 0
),
[1] = array(
'user_id' => 2,
'email' => [email protected],
'plugin_enter' => 1,
'offers_view' => 1,
...
),
내가 필요로하는 것은이 같은 부분 배열로 출력됩니다 :
[0] = array(
'user_id' => 1,
'email' => [email protected],
'permissions => array(
'plugin_enter' => 1,
'offers_view' => 0
),
),
...
ONE 쿼리이게 가능을 할까?
표 2 (사용 권한)에는 약 60 개의 열이 있습니다. Table1에 한 행만 조인 된 경우 열 값으로 열의 이름을 CONCAT 할 수 있습니까?
나는 이것이 단지 하나의 쿼리에 대해서만 가능하다고 생각한다. – Chinito
당신의 table2를 uid, name, value와 같이 변경하여 60 개의 열을 피하고 쿼리를 유지할 수 없다. –