【发布时间】:2011-05-11 21:08:00
【问题描述】:
对不起标题,我不知道该放什么。
我希望在单个数据库查询中提取有关用户的所有信息。
有4个表:
user
- userid (PK)
services
- serviceid (PK)
languages
- langid (PK)
areas
- areaid (PK)
user_services
- user_services_id (PK)
- serviceid (FK)
- userid (FK)
user_languages
- user_lang_id (PK)
- langid (FK)
- userid (FK)
user_areas
- user_area_id (PK)
- areaid (FK)
- userid (FK)
user 和user_services 我都可以一起拉出来,因为它们各有一行,并且由 user.id 链接。
user_languages 和 user_areas 表是一对多表,看起来类似于:
user_lang_id | userid | langid
1 | 5 | 2
2 | 5 | 6
3 | 5 | 18
user_area_id | userid | areaid
1 | 5 | 15
2 | 5 | 4
3 | 5 | 13
我希望数组看起来像这样:
Array
(
[id] => 5
[firstname] => lethal
[surname] => Mango
[gender] => male
...
[langid] => 2
[langid] => 6
[langid] => 18
...
[areaid] => London
[areaid] => Birmingham
[areaid] => Manchester
}
我尝试了组合 SQL JOIN,但似乎并没有走得太远。我最后的手段是做 3 个单独的查询,最后将 PHP 数组连接在一起(超级混乱)。
谢谢:)
【问题讨论】: