내가 간단한 쿼리가있는 경우에만 열을 선택는 MySQL의 조건
SELECT
gruppo.*, comuni.Nome as nomecomune
FROM
gruppo, comuni
WHERE
(comuni.ID_Comuni = gruppo.ID_Comuni or gruppo.ID_Comuni ='0')
AND ID_Gruppo='3'
당신은 원인 난 항상 행 ID_Gruppo='3'
을 보여줄 필요가 어디에서 이해할 수 있지만, gruppo.ID_Comuni='0'
는 (그래서 링크가없는 경우 어떻게) 나는 SELECT comuni.Nome
란을 할 필요가 없다.
위의 쿼리가 작동하지만 테이블간에 연결이없는 경우 (gruppo.ID_Comuni=0
) 어쨌든 a (임의?) comuni.Nome
값이 표시됩니다.
그래서, 나는 이런 식으로 뭔가를 할 필요가 :
SELECT
gruppo.*,`
if(gruppo.ID_Comuni <> '0') then also select `comuni.Nome
FROM
gruppo, comuni
WHERE
(comuni.ID_Comuni = gruppo.ID_Comuni OR gruppo.ID_Comuni = '0') AND ID_Gruppo = '3'
나는 당신의 도움을 주셔서 감사합니다, 나는 분명히 있었다 바랍니다. 당신이 쿼리가 각 행에 테이블 comuni
에서 각 행을 조인 어떤 종류의 크로스 조인을 수행 -
[나쁜 습관 : 오래된 스타일의 조인 사용] (http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style- joins.aspx) - 구식 * 쉼표로 구분 된 테이블 * 스타일 목록이 ANSI - ** 92 ** SQL 표준 (** 20 년 ** 전)으로 단종되었습니다. –