01. februar 2006 - 15:40Der er
12 kommentarer og 1 løsning
join i mysql 5
Hej efter opgradering til 5.0 er der nogle af mine ældre sql sætninger som ikke længere virker. Det er LEFT JOIN den fejler på.. her er et eksempel:
SELECT sample.id, sample.batch, sample.created_by, sample.created_date, sample.remark, compound.chemical_name, analysis.analysis_name, analysis_map.map_name FROM sample, sample_analysis_link, analysis LEFT JOIN analysis_map on sample.analysis_map_id = analysis_map.id LEFT JOIN compound on sample.compound_id = compound.id WHERE sample.id = 1 AND sample_analysis_link.analysis_id = analysis.analysis_id AND sample_analysis_link.analysis_version = analysis.version AND sample.id = sample_analysis_link.sample_id;
Den giver følgende fejl:
Error 2: java.sql.SQLException: Unknown column 'sample.analysis_map_id' in 'on clause'
1. er den syntaks du anbefaler bagud kompatibel i mysql...??? 2. kan du ikke prøve at omskrive ovenstående sætning til den syntaks du mener er den bedste...??
Her kommer lidt flere problemer som jeg ikke kan gennemskue, der er naturligvis flere points... :-)
SELECT s.locked, s.id, af.id, af.text_id, af.unit, r.status, r.reported_value, r.locked, r.id FROM sample_analysis_link sal,analysis_fields af, sample s LEFT OUTER JOIN result r ON s.id = r.sample_id AND af.id = r.analysis_field_id WHERE s.id = sal.sample_id AND af.analysis_id = sal.analysis_id AND af.analysis_version = sal.analysis_version AND s.id = 2 AND af.analysis_id = 1;
Jeg mangler her et eksempel mere så kan det være at jeg forstår det...
SELECT s.locked, s.id, af.id, af.text_id, af.unit, r.status, r.reported_value, r.locked, r.id FROM ((sample_analysis_link sal JOIN analysis_fields af ON af.analysis_id = sal.analysis_id AND af.analysis_version = sal.analysis_version) JOIN sample s ON s.id = sal.sample_id) LEFT OUTER JOIN result r ON s.id = r.sample_id AND af.id = r.analysis_field_id WHERE s.id = 2 AND af.analysis_id = 1;
jep hold øjnene åbne så kommer der lige et spørgsmål med ekstra points for indsatsen...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.