![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Witam
posiadam dwie tabelę pages_cats -cat_id -cat_title pages -p_id -p_title -p_catid potrzebuję pobrać dane w mniej więcej taki sposób
czyli do każdego rekordu z 'pages_cats' dodajemy wszystkie rekordy z 'pages' gdzie pages.p_catid = pages_cats.cat_id dostaje taki komunikat: Cytat SQLSTATE[21000]: Cardinality violation: 1242 Subquery returns more than 1 row pierwszy raz stworzyłem takie zapytanie i mam z nim spory problem, po błędzie widzę że chodzi o to że wewnętrzne zapytanie zwróciło więcej niż jeden rekord, ale mi właśnie o to chodzi gdzie tu jest błąd ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
dzięki kefirek za pomoc, zrobiłem trochę inaczej
wykorzystałem zapytanie z Twojego pierwszego posta i potem przetworzyłem dane Kod $rows = $db->fetchAll("
SELECT c.cat_title, p.p_linktitle, p.p_id FROM pages p LEFT JOIN pages_cats c ON (p.p_catid=c.cat_id) WHERE c.cat_siteid='$site_id' "); $rows2 = array(); foreach ($rows as $v) { $rows2[$v['cat_title']][] = array($v['p_linktitle'], $v['p_id']); } |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.10.2025 - 07:54 |