M
Good afternoon Ivan, follow a suggestion.<?php
$conn = new mysqli('host', 'user', 'password', 'database');
$queryTables = "select * from information_schema.tables where TABLE_NAME like 'School_%_members'";
$result = $conn->query($queryTables);
$query = "SELECT mb.ID, mb.user_id, mb.user_type FROM (\n";
$delimiter = "UNION ALL ";
while ($row = $result->fetch_object()) {
$query .= "Select ID, user_id, user_type from {$row->TABLE_NAME}\n{$delimiter}";
}
$query = substr($query, 0, strlen($query) - strlen($delimiter))
. ") as mb\n"
. "WHERE mb.user_id = 1\n";
echo $query;
This example rides your query with the UNION ALL dynamic, extracted from Information Schema.All your Model I ignored, tried to focus on SQL...And it also seems unnecessary to use the clause GROUP BY because you are not making sum(), nor count(), etc., it seems to me that you just want to recover the records of the N-sisters, so see that in my example I left out the grouping.I suggest using only UNION ALL or UNION, you don't have to group for what I understand... The difference between the two is that UNION ALL returns duplicate records while UNION does not.At the end of query has the user_id parameter I used 1, and to test here I created the 3 tables according to your SQL and entered the records so:insert into School_1_members (user_id, user_type, data) values ('1', 'customer', 'my data customer');
insert into School_1_members (user_id, user_type, data) values ('2', 'customer', 'another data');
insert into School_1_members (user_id, user_type, data) values ('3', 'vendor', 'vendor data');
insert into School_2_members (user_id, user_type, data) values ('1', 'customer', 'my data customer');
insert into School_2_members (user_id, user_type, data) values ('2', 'customer', 'another data');
insert into School_2_members (user_id, user_type, data) values ('3', 'vendor', 'vendor data');
insert into School_3_members (user_id, user_type, data) values ('1', 'customer', 'my data customer');
insert into School_3_members (user_id, user_type, data) values ('2', 'customer', 'another data');
insert into School_3_members (user_id, user_type, data) values ('3', 'vendor', 'vendor data');