ben c'est simple si tu met * et que le résultat provient de plusieurs tables le moteur ne sais pas quel champ de quelle table prendre (enfin c'est ce que j'ai remarqué avec mysql). pour ma part je spécifie à chaque de quelle table je veux le résultat comme cela plus d'ambiguïté.
donc pour moi ta requete serai:
$query = "SELECT t_membres.*, t_sponsors.* FROM t_membres, t_sponsors ORDER BY t_membres.`mem_date` ASC, t_membres.`mem_heure` ASC"
normalement avec ca tu devrai avoir le bon résultat
c'est lourd comme écriture mais si tu créer un builder c'est easy, tu te pose plus de question c'est toujours pareil
enfin de mon point de vue
exemple:
1 2 3 4 5 6 7 8 9 10
| $query_builder = new QueryBuilder();
$query_builder->appendField(Society::TABLE, '*');
$query_builder->appendField(Group::TABLE, '*');
$query_builder->appendField(Role::TABLE, '*');
$query_builder->appendField(User::TABLE, '*');
$query_builder->appendFrom(Society::TABLE);
$query_builder->appendJoinField(Group::TABLE, 'group_id', Society::TABLE, 'group_id');
$query_builder->appendJoinField(Role::TABLE, 'role_id', Society::TABLE, 'role_id');
$query_builder->appendJoinField(User::TABLE, 'user_id', Society::TABLE, 'user_id');
$query = $query_builder->createSelect(); |
1 2 3 4 5 6 7 8
| SELECT new_society.*,new_group.*,new_role.*,phpbb_users.*
FROM new_society
LEFT JOIN new_group
ON new_group.`group_id` = new_society.`group_id`
LEFT JOIN new_role
ON new_role.`role_id` = new_society.`role_id`
LEFT JOIN phpbb_users
ON phpbb_users.`user_id` = new_society.`user_id` |
Partager