Я пытаюсь получить доступ к данным из двух таблиц, которые имеют общее поле «SpeciesName».
Таблица «координаты» — это очень большой набор данных с более чем 5500 записями, а сама таблица содержит около 26 полей. Уникальным идентификатором этой таблицы является номер матрицы, который находится в диапазоне от 0 до 5500, и каждая строка содержит немного уникальные данные. Однако есть несколько строк с одним и тем же «SpeciesName» - в таблице всего 446 уникальных «SpeciesNames».
В таблице «common» хранятся общие данные имени и изображения для каждого «SpeciesNames» с 3 полями. В основном то, что я пытаюсь сделать, это установить отношение MySQL между двумя таблицами, используя «SpeciesNames» в качестве внешнего ключа, и получить доступ к данным из обоих в одном запросе.
Когда начать? Поиски в Google дали результаты, касающиеся таблиц, содержащих одно или два поля. Однако, когда я запрашиваю, я хочу выбрать ВСЕ поля из ОБЕИХ таблиц в PHP. Любой совет по этому поводу был бы замечательным.
Изменить: я знаю, что на данный момент данных немного, но они будут! Я должен был быть более ясным об этом. Это «координаты»:
`Authors` varchar(500) DEFAULT NULL,
`Journal` varchar(500) DEFAULT NULL,
`YearPublication` varchar(500) DEFAULT NULL,
`DOIISBN` varchar(500) DEFAULT NULL,
`AdditionalSource` varchar(500) DEFAULT NULL,
`Ecoregion` varchar(500) DEFAULT NULL,
`GrowthType` varchar(500) DEFAULT NULL,
`GrowthFormRaunkiaer` varchar(500) DEFAULT NULL,
`NumberPopulations` varchar(500) DEFAULT NULL,
`AnnualPeriodicity` varchar(500) DEFAULT NULL,
`CriteriaSize` varchar(500) DEFAULT NULL,
`CriteriaOntogeny` varchar(500) DEFAULT NULL,
`CriteriaAge` varchar(500) DEFAULT NULL,
`Kingdom` varchar(500) DEFAULT NULL,
`Phylum` varchar(500) DEFAULT NULL,
`AngioGymno` varchar(500) DEFAULT NULL,
`DicotMonoc` varchar(500) DEFAULT NULL,
`Class` varchar(500) DEFAULT NULL,
`_Order` varchar(500) DEFAULT NULL,
`Family` varchar(500) DEFAULT NULL,
`Genus` varchar(500) DEFAULT NULL,
`SpeciesName` varchar(500) DEFAULT 'NA',
`EnteredBy` varchar(500) DEFAULT NULL,
`EnteredDate` varchar(500) DEFAULT NULL,
`Source` varchar(500) DEFAULT NULL,
`SpeciesAuthor` varchar(500) DEFAULT NULL,
`StudiedSex` varchar(500) DEFAULT NULL,
`MatrixComposite` varchar(500) DEFAULT NULL,
`MatrixTreatment` varchar(500) DEFAULT NULL,
`MatrixCaptivity` varchar(500) DEFAULT NULL,
`MatrixStartYear` varchar(500) DEFAULT NULL,
`MatrixStartSeason` varchar(500) DEFAULT NULL,
`MatrixStartMonth` varchar(500) DEFAULT NULL,
`MatrixEndYear` varchar(500) DEFAULT NULL,
`MatrixEndSeason` varchar(500) DEFAULT NULL,
`MatrixEndMonth` varchar(500) DEFAULT NULL,
`Population` varchar(500) DEFAULT NULL,
`LatDeg` varchar(500) DEFAULT NULL,
`LatMin` varchar(500) DEFAULT NULL,
`LatSec` varchar(500) DEFAULT NULL,
`LonDeg` varchar(500) DEFAULT NULL,
`LonMin` varchar(500) DEFAULT NULL,
`LonSec` varchar(500) DEFAULT NULL,
`LatitudeDec` varchar(500) DEFAULT NULL,
`LongitudeDec` varchar(500) DEFAULT NULL,
`Altitude` varchar(500) DEFAULT NULL,
`Country` varchar(500) DEFAULT NULL,
`Continent` varchar(500) DEFAULT NULL,
`MatrixSplit` varchar(500) DEFAULT NULL,
`Observation` varchar(500) DEFAULT NULL,
`MatrixClassOrganized` varchar(500) DEFAULT NULL,
`Matrixnumber` varchar(500) NOT NULL DEFAULT '',
`MatrixClassNumber` varchar(500) DEFAULT NULL,
`Dimension` varchar(500) DEFAULT NULL,
`plantType` varchar(500) DEFAULT NULL,
`matrix` varchar(15000) DEFAULT NULL,
`_ClassNames` varchar(16000) DEFAULT NULL,
`StatusStudy` varchar(500) DEFAULT NULL,
`StatusStudyRef` varchar(500) DEFAULT NULL,
`StatusElsewhere` varchar(500) DEFAULT NULL,
`StatusElsewhereRef` varchar(500) DEFAULT NULL,
PRIMARY KEY (`Matrixnumber`),
И «общее»:
`ID` varchar(100) NOT NULL,
`CommonName` varchar(100) NOT NULL,
`ImageUrl` varchar(200) NOT NULL,
`UploadImgUrl` varchar(100) NOT NULL,
UNIQUE KEY `SpeciesAccepted` (`ID`),
KEY `ID` (`ID`)
Я в основном наношу каждую запись на карту, используя координаты и отображаю всю информацию из «координатов» - это уже было успешно достигнуто. Таблица «common» содержит новую информацию, которая была динамически создана для каждого «SpeciesName» (coords.SpeciesName и common.ID), поэтому я хотел бы отобразить CommonName и использовать «ImageUrl» и «UploadedImgUrl» вместе с данными, которые я ранее имел. Я все еще немного новичок в MySQL, поэтому прошу прощения, если моя терминология не идеальна!
JOIN
операторах. - person Mike Brant   schedule 13.10.2014