0
그래서 매핑 테이블에서 기본값으로 설정되어있는 레코드 만 반환하려고하지만 그 시장에서 해당 항목과 관련된 모든 언어를 기본값으로 설정합니다 . 벨로 우는 내가 사용하고있는 정확한 SQL이다. 내 SQL 그냥 원하는 인스턴스로 내 목록을 제한하지 않습니다
SELECT `teams`.*,
`markets`.`title` AS `market`,
`markets`.`short_name`,
`market_countries`.*,
`countries`.`title` AS `country`,
`languages`.`title` AS `language`,
`languages`.`short_code`,
`status`.`title` AS `status`,
`team_types`.`title` AS `type`,
`market_languages`.*
FROM `teams`
JOIN `markets` ON teams.market_id = markets.id
LEFT JOIN `market_countries` ON markets.id = market_countries.market_id
LEFT JOIN `countries` ON countries.id = market_countries.country_id
LEFT JOIN `languages` ON languages.id = teams.language_id
LEFT JOIN `status` ON teams.status_id = status.id
JOIN `team_types` ON team_types.id = teams.type_id
JOIN `market_languages` ON teams.market_id = market_languages.market_id
WHERE (market_languages.is_default = 1)
AND (teams.status_id = 3)
GROUP BY `teams`.`id`
ORDER BY `teams`.`order_id` ASC, `teams`.`status_id` ASC
는 지금은 특정 열을 획득하고 시장과 언어에 가입하지만, 시장 및 언어 관한 기본 언어입니다 다른 테이블이있다하고 있습니다. 불행하게도 그것은 두 언어가 모두 기본이라는 것을 말하고 있습니다. db에서 분명히 그 시장을위한 단지 하나의 언어 디폴트입니다.
테이블 구조를 알지 못하면 무엇이 잘못 될지 알기가 어렵습니다. 특히, 서로 다른 테이블 사이의 관계 (1 : 1, 1 : 많은, 많은 : 많은)는 무엇입니까? –
테이블 A에는 셀 1이 테이블 B와 관련되어 있고 테이블 A에는 테이블 C와 관련된 다른 셀 2가 있습니다. 그러나 B와 C에는 테이블 A와 테이블 1과의 일대일 관계가있는 일대 다 관계가 있습니다 테이블. 문제는 테이블 b와 관련된 테이블 A의 마스터 레코드를 얻음으로써 발생하지만 테이블 C는 두 번째 정의 레이어를 결정합니다. 나는 실제로 질문의 성격을 포기하지 않고 더 설명 할 수 있었으면 좋겠다. 그러나 모두에는 테이블 B와 관련하여 마스터 폼 테이블 C를 정의하는 테이블 D가 있으므로 어떤 것을 보여야하는지에 대한 구체적인 정의가 제공됩니다. – AlbertRosa