如果标题不太清楚,我很抱歉,坦白地说,我真的不知道如何用简单的词来解释它。我有以下问题。
我有一个疑问:
SELECT EQUIPO.EQUI_SERIE
FROM EQUIPO
LEFT JOIN ASIGNACION ON EQUIPO.EQUI_SERIE = ASIGNACION.EQUI_SERIE
WHERE ASIG_ACTIVA = 'No'
ORDER BY EQUI_SERIE ASC;我希望它显示在ASIGNACION表中引用或不引用的设备表中的所有元素,如果它们被引用,我希望它只显示那些在ASIG_ACTIVA列中具有'No‘值的元素。我尝试过不同的东西,但我在网上找不到我需要的东西。任何帮助都将不胜感激。
发布于 2019-03-19 13:02:27
您可以通过限制连接表来实现这一点。
SELECT EQUIPO.EQUI_SERIE
FROM EQUIPO
LEFT JOIN ASIGNACION ON EQUIPO.EQUI_SERIE = ASIGNACION.EQUI_SERIE
AND ASIGNACION.ASIG_ACTIVA = 'No'
ORDER BY EQUI_SERIE ASC;通过将AND添加到联接中,可以将联接表ASIGNACION限制为只有列ASIGN_ACTIVE中有no的行。
这将使ASIGNACION中所有相关的行都具有no值。
因为它是一个左联接,所以对于不是相关的行,或者是以yes为值的行,您也会获得NULL。
https://stackoverflow.com/questions/55241665
复制相似问题