Come posso fare l'intersezione tra i risultati di queste 2 query?
In entrambi questi array vengono estratti gli ID, io volevo ottenere un array con solo gli ID in comune...codice:$sql_1=@mysql_query($query_keywords); $sql_2=@mysql_query($query_autori);
Pensavo che trasformando i risultati in array, in questo modo
poi sarei riuscita nel mio intento, ma no!codice:$ricerca_sql_1=mysql_fetch_array($sql_1);![]()
Ho già cercato di fare un'unica query ma si tratta di query complesse e non sono riuscita
Se può servire le query sono così(alcuni dei valori nella query sono delle variabili)
prima query
seconda querycodice:SELECT `Fonti`.`ID`, `Fonti`.`Titolo`, `Fonti`.`formato`, `Fonti`.`Anno`, GROUP_CONCAT( `Parole_chiave`.`keyword` ORDER BY `Parole_chiave`.`keyword` ASC SEPARATOR ', ') FROM `Fonti` INNER JOIN `Assegnazione_parole_chiave` ON `Fonti`.`ID` = `Assegnazione_parole_chiave`.`fonteid` INNER JOIN `Parole_chiave` ON `Parole_chiave`.`ID` = `Assegnazione_parole_chiave`.`keywordid` INNER JOIN `Autori` ON (`Autori`.`ID` = `Fonti`.`autore_2id` OR `Autori`.`ID` = `Fonti`.`autore_1id`) WHERE ( 1 AND (`Fonti`.`Titolo` LIKE '%CRISM%') AND (`Fonti`.`Anno` < 2010) AND (`Fonti`.`Anno` > 2000) AND (`Autori`.`ID` IN (75, 1)) ) GROUP BY `Fonti`.`ID`
POTETE AIUTARMI?codice:SELECT `Fonti`.`ID`, `Fonti`.`Titolo`, `Fonti`.`formato`, `Fonti`.`Anno`, GROUP_CONCAT( `Autori`.`Nome_Autore` ORDER BY `Fonti`.`autore_1id` SEPARATOR ', ') FROM `Fonti` INNER JOIN `Autori` ON (`Autori`.`ID` = `Fonti`.`autore_2id` OR `Autori`.`ID` = `Fonti`.`autore_1id`) INNER JOIN `Assegnazione_parole_chiave` ON `Fonti`.`ID` = `Assegnazione_parole_chiave`.`fonteid` WHERE ( 1 AND (`Assegnazione_parole_chiave`.`keywordid` IN (75, 123)) ) GROUP BY `Fonti`.`ID`

Rispondi quotando