테이블 1의 "키"에 대해 테이블 2의 값을 가져 오려고합니다. 동일한 이름의 출력이 혼합되지 않도록 "AS"를 사용합니다. 다음은 내가하고있는 일이지만 작동하지 않습니다 (때).동일한 열에 대해 여러 개의 값 - SQL INNER JOIN
SELECT pg_show.php,pg_show.tab,pg_text.text as title,pg_text.text as description
FROM pg_show
INNER JOIN pg_text ON pg_show.tit=title
INNER JOIN pg_text ON pg_show.desc=description
WHERE pg_show.url='value'
LIMIT 0,1
어떻게 해결할 수 있습니까?
편집 : 볼 수 있듯이
, 내가 올바른 방법으로 내 질문에 설명하지 않았다. 주어진 솔루션을 적용하면 오류가 발생합니다. "# 1054 - 'on clause' '에'pt1.tit '알 수없는 열이 있습니다. 아마 내 테이블의 구조가 도움이 될 것입니다.
pg_show
URL
PHP
짹
DESC
pg_text
키
랭
텍스트
아이디어 :
내가 호출 된 페이지 이름에 따라 PHP 파일을 실행합니다. 페이지 이름이 (URL 필드)은 사용자 언어에 따라 다를 수 있습니다. 전체 아이디어가 더 복잡하기 때문에 (httpdaccess URL 재 작성을 사용하고 싶지 않습니다.) 전화 할 수있는 모든 값을 저장해야합니다. 이 정확한 PHP 파일 (모든 가능한 URL 값).
반면에 페이지 제목과 설명을 표시해야합니다. 이를 위해 각 단어에 대해 (텍스트 필드) 값을 갖는 "CONSTANTS"테이블을 * (pg_text) * 만들었습니다. (lang 필드). 쿼리에 대해
:
내가 가야 구축을 위해 노력하고 쿼리 (알면서 URL 값) PHP 파일 이름과 값 가슴과 내림차순의(표 2에 텍스 필드) 필드의 첫 번째 테이블에 값으로 테이블 2에 해당 값을 가져 오는 데 필요한 "상수"이름이 있습니다.
'텍스트'와 '설명'이 같은 것은 아닌가요? 같은 데이터에서 두 개의 조인을하는 이유는 아닙니다. –
@MikeChristensen 테이블 "pg_text"테이블에는 두 개의 행 "key"와 "text"가 있습니다. 그리고 "pg_show.desc"와 "pg_show.tit"를 두 번째 테이블에있는 두 개의 regs와 연관시키고 싶습니다. 따라서 첫 번째 테이블에는 두 번째 다른 REGS와 동일한 열에 대한 참조가있는 두 개의 다른 열이 있습니다. – Kenedy
나는 이해한다고 믿는다. 내 대답을 아래에 추가했습니다. –