Mysql 我需要做的一个示例提示,使查询“更小”且更可读:LEFT JOIN ev_events_multilang_evmulti AS evm ON。。。 SELECT * (//instead of * i put in my code the proper
Mysql 我需要做的一个示例提示,使查询“更小”且更可读:LEFT JOIN ev_events_multilang_evmulti AS evm ON。。。 SELECT * (//instead of * i put in my code the proper ,mysql,Mysql,我需要做的一个示例提示,使查询“更小”且更可读:LEFT JOIN ev_events_multilang_evmulti AS evm ON。。。 SELECT * (//instead of * i put in my code the proper columns i need from the selected tabls) FROM ev_events_eve LEFT JOIN ev_events_multilang_evmulti ON ev_events_multilang_e
我需要做的一个示例提示,使查询“更小”且更可读:LEFT JOIN ev_events_multilang_evmulti AS evm ON。。。
SELECT * (//instead of * i put in my code the proper columns i need from the selected tabls)
FROM
ev_events_eve
LEFT JOIN ev_events_multilang_evmulti ON ev_events_multilang_evmulti.event_evmulti = ev_events_eve.id_eve
LEFT JOIN ev_schedule_sch ON ev_schedule_sch.event_id_sch = ev_events_eve.id_eve
LEFT JOIN ev_events_type_et ON ev_schedule_sch.event_type_id_sch = ev_events_type_et.id_et
LEFT JOIN ev_events_type_multilang_etmulti ON ev_events_type_multilang_etmulti.idevent_type_etmulti = ev_events_type_et.id_et
LEFT JOIN ev_schedule_multilang_schmulti ON ev_schedule_multilang_schmulti.id_schedule_schmulti = ev_schedule_sch.id_sch
LEFT JOIN ev_timetable_tt ON ev_timetable_tt.schedule_id_tt = ev_schedule_sch.id_sch AND ev_timetable_tt.event_id_tt = ev_events_eve.id_eve
WHERE (ev_events_eve.active_eve = 1 AND ev_schedule_multilang_schmulti.iso_code_lang_schmulti = '{$current_language}' AND ev_schedule_sch.active_sch = 1) AND
ev_timetable_tt.end_date_tt > CURDATE() OR (ev_timetable_tt.weekday_tt = DAYNAME(CURDATE()) AND ev_timetable_tt.end_date_tt > CURDATE()) OR ev_timetable_tt.specific_date_tt > CURDATE()
ORDER BY ev_timetable_tt.start_date_tt ASC LIMIT 3
AND (
ev_timetable_tt.end_date_tt > CURDATE()
OR (ev_timetable_tt.weekday_tt = DAYNAME(CURDATE()) AND ev_timetable_tt.end_date_tt > CURDATE())
OR ev_timetable_tt.specific_date_tt > CURDATE()
)
SELECT *
FROM ev_events_eve e
LEFT JOIN ev_events_multilang_evmulti eml ON eml.event_evmulti = e.id_eve
LEFT JOIN ev_schedule_sch es ON es.event_id_sch = e.id_eve
LEFT JOIN ev_events_type_et et ON es.event_type_id_sch = et.id_et
LEFT JOIN ev_events_type_multilang_etmulti emel ON emel.idevent_type_etmulti = et.id_et
LEFT JOIN ev_schedule_multilang_schmulti ems ON ems.id_schedule_schmulti = es.id_sch
LEFT JOIN ev_timetable_tt ett ON ett.schedule_id_tt = es.id_sch AND ett.event_id_tt = e.id_eve
WHERE (e.active_eve = 1 AND ems.iso_code_lang_schmulti = '{$current_language}' AND es.active_sch = 1)
AND
(
ett.end_date_tt > CURDATE()
OR (ett.weekday_tt = DAYNAME(CURDATE()) AND ett.end_date_tt > CURDATE())
OR ett.specific_date_tt > CURDATE()
)
ORDER BY ett.start_date_tt ASC
LIMIT 3
SELECT * (//instead of * i put in my code the proper columns i need from the selected tabls)
FROM
ev_events_eve
LEFT JOIN ev_events_multilang_evmulti ON ev_events_multilang_evmulti.event_evmulti = ev_events_eve.id_eve
LEFT JOIN ev_schedule_sch ON ev_schedule_sch.event_id_sch = ev_events_eve.id_eve
LEFT JOIN ev_events_type_et ON ev_schedule_sch.event_type_id_sch = ev_events_type_et.id_et
LEFT JOIN ev_events_type_multilang_etmulti ON ev_events_type_multilang_etmulti.idevent_type_etmulti = ev_events_type_et.id_et
LEFT JOIN ev_schedule_multilang_schmulti ON ev_schedule_multilang_schmulti.id_schedule_schmulti = ev_schedule_sch.id_sch
LEFT JOIN ev_timetable_tt ON ev_timetable_tt.schedule_id_tt = ev_schedule_sch.id_sch AND ev_timetable_tt.event_id_tt = ev_events_eve.id_eve
WHERE (ev_events_eve.active_eve = 1 AND ev_schedule_multilang_schmulti.iso_code_lang_schmulti = '{$current_language}' AND ev_schedule_sch.active_sch = 1)
AND (
ev_timetable_tt.end_date_tt > CURDATE()
OR (ev_timetable_tt.weekday_tt = DAYNAME(CURDATE()) AND ev_timetable_tt.end_date_tt > CURDATE())
OR ev_timetable_tt.specific_date_tt > CURDATE()
)
ORDER BY ev_timetable_tt.start_date_tt ASC LIMIT 3
... WHERE ... (ev_schedule_sch.active_sch = 1 OR ev_schedule_sch.active_sch IS NULL) ...
... LEFT JOIN ev_schedule_sch ON ev_schedule_sch.event_id_sch = ev_events_eve.id_eve AND ev_schedule_sch.active_sch = 1 ...
SELECT *
FROM
ev_events_eve EE
LEFT JOIN ev_events_multilang_evmulti ELANG
ON EE.id_eve = ELANG.event_evmulti
LEFT JOIN ev_schedule_sch SCHED
ON EE.id_eve = SCHED.event_id_sch
LEFT JOIN ev_events_type_et ETYPE
ON SCHED.event_type_id_sch = ETYPE.id_et
LEFT JOIN ev_events_type_multilang_etmulti ETMLANG
ON ETYPE.id_et = ETMLANG.idevent_type_etmulti
LEFT JOIN ev_schedule_multilang_schmulti SMS
ON SCHED.id_sch = SMS.id_schedule_schmulti
LEFT JOIN ev_timetable_tt TIMET
ON SCHED.id_sch = TIMET.schedule_id_tt
AND EE.id_eve = TIMET.event_id_tt
WHERE
( EE.active_eve = 1
AND SMS.iso_code_lang_schmulti = '{$current_language}'
AND SCHED.active_sch = 1 )
AND ( TIMET.end_date_tt > CURDATE()
OR ( TIMET.weekday_tt = DAYNAME(CURDATE())
AND TIMET.end_date_tt > CURDATE())
OR TIMET.specific_date_tt > CURDATE() )
ORDER BY
TIMET.start_date_tt ASC LIMIT 3
SELECT *
FROM
ev_events_eve EE
LEFT JOIN ev_events_multilang_evmulti ELANG
ON EE.id_eve = ELANG.event_evmulti
LEFT JOIN ev_schedule_sch SCHED
ON EE.id_eve = SCHED.event_id_sch
AND SCHED.active_sch = 1
LEFT JOIN ev_events_type_et ETYPE
ON SCHED.event_type_id_sch = ETYPE.id_et
LEFT JOIN ev_events_type_multilang_etmulti ETMLANG
ON ETYPE.id_et = ETMLANG.idevent_type_etmulti
LEFT JOIN ev_schedule_multilang_schmulti SMS
ON SCHED.id_sch = SMS.id_schedule_schmulti
AND SMS.iso_code_lang_schmulti = '{$current_language}'
LEFT JOIN ev_timetable_tt TIMET
ON SCHED.id_sch = TIMET.schedule_id_tt
AND EE.id_eve = TIMET.event_id_tt
AND ( TIMET.end_date_tt > CURDATE()
OR ( TIMET.weekday_tt = DAYNAME( CURDATE() )
AND TIMET.end_date_tt > CURDATE() )
OR TIMET.specific_date_tt > CURDATE() )
WHERE
EE.active_eve = 1
ORDER BY
TIMET.start_date_tt ASC LIMIT 3