Я понял, как отобразить список повторяющихся значений в конкретной таблице базы данных ...Именование ряд подзапросов (PHP/MySQL)
$stm = $pdo->prepare("SELECT URL, COUNT(*) tot
FROM people
GROUP BY URL
HAVING tot > 1");
$stm->execute(array(
'Total'=>$Total
));
while ($row = $stm->fetch())
{
$URL_Dupe = $row['URL'];
$tot = $row['tot'];
$Dupe2[] = ''.$URL_Dupe.''.$tot.'';
}
Я хотел бы сделать то же самое с серии таблиц, связанных вместе с UNION ALL п ...
$stm = $pdo->prepare("SELECT 'GZ' AS GSiteID, NULL as Site, 'Life' AS GSection, GZL.Taxon AS URL
FROM gz_life GZL WHERE GZL.Taxon = :MyURL
UNION ALL
SELECT 'All' AS GSiteID, NULL as Site, 'World' AS GSection, GG.Name AS URL FROM gw_geog GG WHERE GG.Name = :MyURL
UNION ALL
SELECT 'PX' AS GSiteID, Site, 'People' AS GSection, Ppl.URL FROM people Ppl WHERE Ppl.URL = :MyURL");
$stm->execute(array(
'MyURL'=>$MyURL
));
другими словами, я хочу, чтобы отследить любое слово, которое появляется более одного раза в одной таблице или один раз (или больше) в двух или более разные таблицы.
Но я думаю, что я должен сначала создать одно имя для всех этих таблиц (например, «Todo»), а затем выполнить операцию над этим именем, верно? Как мне это сделать? У меня есть аналогичная таблица, которая просто заканчивается «AS X». Но я не могу сделать это по этому запросу, не получая ошибок.
Спасибо, но я должен делать что-то не так с моим временем цикла, как я получаю сообщение об ошибке «Не определено индекс: URL.» (Примечание: я изменил группу по URL-адресу для группировки по URL-адресу.) Это мой цикл while: while ($ row = $ stm-> fetch()) { $ URL = $ row ['URL']; } echo join ($ URL, '
'); –
Это звучит как ошибка php. Я не знаю, почему это произойдет. –
ОК, я буду отмечать это как правильный ответ, а затем исправить свой PHP. –