저는 테이블을 표준화하고 하나의 거대한 테이블 대신 3 개의 테이블을 사용하려고합니다. 왜냐하면 모든 사람들이 정상화가 올바른 일이라고 말했기 때문입니다. 그러나 나는 걸림돌을 치고있다. 주제, 측면, 행의 세 가지 테이블이 있습니다.3 테이블을 첫 번째 테이블의 여러 열로 결합하십시오.
TOPICS:
id | topicname | topicdescription
ROWS:
id | topic_id | rowname | rowdescription
SIDES:
id | topic_id | sidename | sidedescription
하나의 주제는 여러 행과 여러면을 가질 수 있습니다.
내가 좋아이 마스터 결과 (또는 무언가 가질 수 있도록 테이블을 조인하고 싶습니다 :
RESULTTABLE:
topic_id | topicname | topicdescription | rowname0 | rowdescription0 | rowname1 | rowdescription1 | .... | sidename0 | sidedescription0 | sidename1 | sidedescription1 |...
내가 얼마나 많은 행 또는 측면 각 주제는 사전에해야합니다 모르겠어요, 모든 솔루션 지금까지 stackoverflow에서 본 적이 정확히 얼마나 많은 행과면을 내가 전화를 걸기 전에 내가 알 필요가있다.
이것은 내가 뭘 시도하고 그 결과 내가 원하는 게 아니 었 :
SELECT topics.id, topics.topicname, topics.topicdescription ,
sides.sidename , sides.sidedescription, rows.rowname ,
rows.rowdescription
FROM `topics`
INNER JOIN sides
ON sides.topic_id = topics.id
INNER JOIN rows
ON rows.topic_id = topics.id WHERE topics.id=1
이렇게하면 여러 행이있는 표가 생성됩니다 (원하지 않는 표). 여러 표가없는 표가 생성됩니다.
배경 : 저는 mysql 5.5, php 5.4를 사용하고 있습니다.
어떻게 행과 측면 유용한 당 주제의 이름과 설명을 알고있다? –
@ IgnacioVazquez-Abrams 주제가 여러 행과 여러면을 가질 수있는 토론 웹 사이트를위한 데이터베이스를 만들려고합니다. 따라서 데이터는 결국 다음과 같이 보입니다. 1 | 우리가 이것을 논쟁해야할까요? | 이것은 메타 토론이다. 팀 알파 | 팀 알파의 구성원 | 팀 브라보 | 팀 bravo의 일원 | .... | 예 | 주제 지지자들 | 아니요 | 주제 반대자들 | – GK79
아, 알겠습니다. 구조를 평평하게하고 싶습니다. 그래, 그러지 마. –