Come posso fare l'intersezione tra i risultati di queste 2 query?
codice:
$sql_1=@mysql_query($query_keywords);
$sql_2=@mysql_query($query_autori);
In entrambi questi array vengono estratti gli ID, io volevo ottenere un array con solo gli ID in comune...
Pensavo che trasformando i risultati in array, in questo modo
codice:
$ricerca_sql_1=mysql_fetch_array($sql_1);
poi sarei riuscita nel mio intento, ma no!
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
codice:
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`
seconda query
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`
POTETE AIUTARMI?