내 쿼리에 문제가 있습니다. 원하는 데이터를 얻을 수있는 올바른 쿼리를 얻을 수없는 것 같습니다. 데이터를 가져 오는 데 필요한 다음 테이블이 있습니다.
app_exhibition
- id
- name
- form_id
app_forms
- id
- name
app_languages
- id
- name
- code
app_link_lang
- id
- form_id
- lang_id
전시회 app_exhibition
이름 ( app_forms
) 양식의 아이디와 이름 ( ) 언어의 이름 ( app_languages
)을 선택하고 싶은데, app_link_lang
표에 링크되어 있기 때문에 어떤 것을 선택해야하는지 (언어 적으로) 알고 있습니다 .
이제 다음 쿼리를 얻었지만 (분명히) 작동하지 않습니다 .. :
select f.form_id, f.name, b.name as beursnaam, l.name as languagename
FROM app_forms f, app_lang_link ll
WHERE f.id=1
LEFT JOIN app_beurzen b ON (b.form_id = f.id)
LEFT JOIN app_languages l ON ll.form_id = f.id
이 작업을 수행해야합니다.
SELECT e.name ename, f.id fid, f.name fname, l.name lname
FROM app_exhibition e
INNER JOIN app_forms f ON f.id=e.form_id
INNER JOIN app_link_lang al ON al.form_id=f.id
INNER JOIN app_languages l ON l.id=al.lang_id
링크를 app_link_lang
제공하는 m-to-n
링크 테이블을 짜는 것을 잊었습니다 . 결과는 이제에서 링크 된 언어에 따라 전시회 당 여러 줄로 구성 될 수 있습니다 app_link_lang
.
편집하다
나는 당신의 바이올린을 확장하고 (일부 데이터로 채워져 있음) 작동합니다. http://sqlfiddle.com/#!9/a86be/1
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다