je un script qui génère des requêtes de la manière suivante (sur la base de l'entrée d'utilisateur):Récupère des lignes de plusieurs tables avec un sous-select?
SELECT * FROM articles
WHERE (articles.skeywords_auto ilike '%pm2%')
AND spubid IN (
SELECT people.spubid FROM people
WHERE (people.slast ilike 'chow')
GROUP BY people.spubid)
LIMIT 1;
L'ensemble de données résultant:
Array ([0] =>
Array (
[spubid] => A00603
[bactive] => t
[bbatch_import] => t
[bincomplete] => t
[scitation_vis] => I,X
[dentered] => 2009-07-24 17:07:27.241975
[sentered_by] => pubs_batchadd.php
[drev] => 2009-07-24 17:07:27.241975
[srev_by] => pubs_batchadd.php
[bpeer_reviewed] => t
[sarticle] => Errata: PM2.5 and PM10 concentrations from the Qalabotjha low-smoke fuels macro-scale experiment in South Africa (vol 69, pg 1, 2001)
[spublication] => Environmental Monitoring and Assessment
[ipublisher] =>
[svolume] => 71
[sissue] =>
[spage_start] => 207
[spage_end] => 210
[bon_cover] => f
[scover_location] =>
[scover_vis] => I,X
[sabstract] =>
[sabstract_vis] => I,X
[sarticle_url] =>
[sdoi] =>
[sfile_location] =>
[sfile_name] =>
[sfile_vis] => I
[sscience_codes] =>
[skeywords_manual] =>
[skeywords_auto] => 1,5,69,2001,africa,assessment,concentrations,environmental,errata,experiment,fuels,low-smoke,macro-scale,monitoring,pg,pm10,pm2,qalabotjha,south,vol
[saward_number] =>
[snotes] =>
)
Le problème est que je également besoin de toutes les colonnes de la table 'people' (comme référencé dans le sous select) pour revenir en tant que partie de l'ensemble de données. Je n'ai pas (évidemment) fait beaucoup de sous sélections dans le passé donc cette approche est très nouvelle pour moi. Comment puis-je retirer toutes les lignes/colonnes correspondantes de la table des articles AINSI que les lignes/colonnes de la table des personnes?
pouvez-vous travailler sur la mise en forme s'il vous plaît? – gbn
Quelqu'un peut-il expliquer la différence clé entre JOIN et INNTER JOIN? SELECT * À PARTIR D'ARTICLES t JOIN PEOPLE p ON p.spubid = t.spubid ET p.saffil = 'DAS' O WH t.keywords_auto ILIKE '% pm2%'; Versus: SELECT a *, p * des articles comme INNER JOIN personnes comme p = ON a.spubid p.spubid OÙ a.skeywords_auto iLike '% PM2%' et p.saffil = '.. DAS '; Je reçois le même jeu de résultats avec les deux. –
Apparemment le formatage ne se fait pas dans les commentaires ... #hrmph –