选择Competencia Funcions: -
SELECT c.*, f.* --
FROM Competencia c
LEFT JOIN CompetenciaFuncion cf ON cf.CompetenciaId = c.CompetenciaId
LEFT JOIN Funcion f ON f.FuncionId = cf.FuncionId
WHERE {......insert additional conditions..... }
选择Competencia Nivels: -
SELECT c.*, n.* --
FROM Competencia c
LEFT JOIN CompetenciaNivel cn ON cn.CompetenciaId = c.CompetenciaId
LEFT JOIN Nivel n ON n.NivelId = cn.NivelId
WHERE {......insert additional conditions..... }
LEFT JOIN的确保所有从competencia表的详细返回,并从什么Funcion/Nivel表。注意:大多数时候你想要在网格(或类似的)中显示结果,那么SELECT中的c.*
部分将被c.CompetenciaId所取代,这样你就可以得到密钥,但不要重复不必要的竞争表。
如果这些查询一遍又一遍地使用,这些查询也可以构成VIEWs的基础。
仅基于表结构和解释提供的表结构很好,适用于大多数情况。 – 2014-09-24 06:04:58