Hi Richard and Damian,

I get server error (code 500) if I select to filter of any of the fields of the mid__timepoint__main or the mid__post_infection__dm tables.\ I have selected "Naive" to create a basic configuration which I then exported, but the error remains.

Below is my table schema for biomart

CREATE TABLE mid__sample__main
(
sample_id_key       INTEGER NOT NULL,
study_id            VARCHAR(20),
location            VARCHAR(20),
participant_id      INTEGER,
PRIMARY KEY (sample_id_key)
) TYPE=MyISAM;


CREATE TABLE mid__timepoint__main
(
timepoint_id_key    INTEGER NOT NULL,
sample_id_key       INTEGER NOT NULL,

study_id            VARCHAR(20),
location            VARCHAR(20),
participant_id      INTEGER,

phase               INTEGER,
visit               INTEGER,
interim_visit       INTEGER,
year                INTEGER,
month               INTEGER,
day                 INTEGER,
PRIMARY KEY (timepoint_id_key),
FOREIGN KEY (sample_id_key) REFERENCES mid__sample__main(sample_id_key)
) TYPE=MyISAM;

CREATE TABLE mid__period_post_infection__dm
(
timepoint_id_key INTEGER NOT NULL,
days_post_infection INTEGER,
weeks_post_infection INTEGER,
infection_year INTEGER,
infection_month INTEGER,
infection_day INTEGER,
PRIMARY KEY (timepoint_id_key),
FOREIGN KEY(timepoint_id_key)REFERENCES mid__timepoint__main(timepoint_id_key)
)TYPE=MyISAM;



On Wed, 28 Jun 2006, Richard Holland wrote:

I might be wrong here (someone please correct me if I am) but you can
only have multiple main tables if there is a 1:M relation between them -
i.e. every B includes all the fields of A plus some extra fields, some
of which make B unique when looked at in combination with the fields
inherited from A. Dimension tables that refer to A must include all the
key columns for A, and those that refer to B must refer to all the key
columns for B (which by definition will include all the key columns that
B inherited from A).
Could you check that this is the case?

what Richard is saying is correct. From the error message it seems your second main table is prob missing the key from the first main table (ie) the second main needs all the cols from the first one including the key.

cheers
damian


cheers,
Richard

On Wed, 2006-06-28 at 11:46 +0200, allank wrote:
Hi all,
I am unable to query from a biomart schema having two tables and (at the moment) one dimension table, I get a " SQL FAILED - LIKELY XML MISCONFIGURATION ERROR ..." error at the result display stage on the biomart web application. I have setup the biomart table structure in accordance with the multiple main table requirements, in Martj I "validate all" and I get no errors, when using the web application, I am able to go smoothly through the filter process and the field-section-for-output stages the pane at the right indicates I have 32 entries at the output level, when I attempt to proceed to the output display page, I get the message " SQL FAILED - LIKELY XML MISCONFIGURATION ERRORUnknown column 'main.timepoint_id_key' in 'where clause'". Could the error have been caused from using a key field (in my case timepoint_id_key) for fields from the dimension table that is not found in all the main tables. If this is so, how can I manage the situation where I have a main table (dataset__A__main) having a one to many relationship with one dimension table (dataset__C__dm) and other main table (dataset__B__main) which will have one to many relationship with several dimension tables.

Allan.

--
Richard Holland (BioMart Team)
EMBL-EBI
Wellcome Trust Genome Campus
Hinxton
Cambridge CB10 1SD
UNITED KINGDOM
Tel: +44-(0)1223-494416




Reply via email to