我在查询中有一个IF
语句,它连接了几个表。
SELECT * FROM specimen, topography_index, morphology, functions
WHERE
SUBSTRING(specimen.topography_index, 2, 2) = topography_index.topography_index_code
AND
IF(specimen.snop_axis = 'M', morphology.morphology_code = specimen.snop_code, functions.functions_code = specimen.snop_code)
AND specimen_pk = '$specimen'
问题是如果specimen.snop_axis = 'F'
,functions.functions_code
返回的值不在morphology.morphology_code
中,则不会返回任何内容。
如何编写查询以便functons
和morphology
表之间没有联接,以便相同的值不必在这些表中?