по типо
mysql_query("SELECT SUM(COUNT(*) FROM table 1 UNION SELECT COUNT(*) FROM table 2 UNION SELECT COUNT(*) FROM table 3 UNION SELECT COUNT(*) FROM table 4 UNION SELECT COUNT(*) FROM table 5)");
так можно?
mysql_query("SELECT SUM(COUNT(*) FROM table 1 UNION SELECT COUNT(*) FROM table 2 UNION SELECT COUNT(*) FROM table 3 UNION SELECT COUNT(*) FROM table 4 UNION SELECT COUNT(*) FROM table 5)");
так можно?
select sum(cnt) from (
select count(*) cnt from table1
union
select count(*) cnt from table2
) u
$result = mysql_query("SELECT SUM (cnt) FROM(SELECT COUNT(*) cnt FROM `table1` UNION SELECT COUNT(*) cnt FROM `table2` UNION SELECT COUNT(*) cnt FROM `table3` UNION SELECT COUNT(*) cnt FROM `table4`");
if(!$result) {die("Ошибка");}
$sql = "
SELECT
SUM (summa)
FROM (
SELECT COUNT(*) AS summa FROM `table1`
UNION
SELECT COUNT(*) AS summa FROM `table2`
UNION
SELECT COUNT(*) AS summa FROM `table3`
UNION
SELECT COUNT(*) AS summa FROM `table4`
) AS u
";
$result = mysql_query($sql) OR die( 'Ошибка запроса:'. mysql_error() );
/*Если строка на выходе одна, (как в примере с количеством строк) можно сделать просто вот так
Вот например связанные таблицы. Нам нужно вытащить два id из каждой таблицы
AS служит для переименования переменных
*/
$array = [];
$sql = "
SELECT
t1.id AS t1_id, t1.name, t1.level,
t2.id AS t2_id
FROM
`table` AS t1
LEFT JOIN
`table2` AS t2 ON t2.user_id = t1.id
";
$result = mysql_query($sql) OR die( 'Ошибка запроса:'. mysql_error() );
if (mysql_num_rows($result) > 0){
// Если строк много применяют while
while ($value = mysql_fetch_assoc($result)) {
// 1 Вариант: Записываем ВСЕ данные в массив, с ключами по порядку
// $array[] = $value;
// 2 Вариант: Создаем ассоциативный массив
$array[ $value['t1_id'] ] = [
'name' => $value['name'],
'level' => $value['level'],
't2_id' => $value['t2_id'],
];
}
}
echo '<pre>';
print_r($array);
echo '</pre>';
$value = mysql_fetch_assoc($result);
echo $value['SUM (summa)'];
SELECT
(SELECT COUNT(*) AS summa FROM `table1`) +
(SELECT COUNT(*) AS summa FROM `table2`) +
(SELECT COUNT(*) AS summa FROM `table3`) +
(SELECT COUNT(*) AS summa FROM `table4`) AS count
Цитата (chee @ 24.05.2017 - 14:22) |
SELECT |
Цитата (karm @ 25.05.2017 - 14:38) |
а как вывести все это в переменную, полегче способом? |