2012-07-11 4 views
0

좋아, 이제는 문제를 소개하고, 나는 3 개의 테이블 Company, CompanyName, Project을 가지고있다. Company에는 많은 회사의 ID와 프로젝트 ID가 있으며 CompanyName의 모든 회사 이름은 Project에 모든 프로젝트의 이름이 있습니다.db mysql에서 데이터 가져 오기 PHP

당신은 내가 예를 줄 것이다 이해하지 않으면,

  • Company : 1, 3; 5, 7; . . .
  • CompanyName : 1, 성; 2 Secondname; 3 Thirdname; . . .
  • Project : 1, Firstproject; 2, SecondProject; . . .

결과는 다음과 같아야합니다 : 회사 명 - 프로젝트 이름

  • FIRSTNAME - 세 번째 프로젝트
  • FifthName - 일곱 번째 프로젝트

하지만 DB에서 데이터를 얻을 수 뜨거운 모른다 예제에서와 같이 Company name - Project name

나는 3 개의 테이블로 SQL 쿼리를 수행하지 않습니다.

내 당신이 질문을 이해하지 나쁜 (

참조 :

  • Company 3 (2 개 행을 가지고 있지만 우리는 단지 2 필요) : CompanyIDProjectId
  • CompanyName 2 행 : IdName
  • Project 2 행 IdCompany에서 Name

있습니다 예를 CompanyID=3에 대한 숫자와 ProjectId=100

이 내가 CompanyID=3을 가지고 ProjectId=100THEcompany3 = TheProject100을해야 CompanyNameProject과 대답에서 데이터를 얻을 때 나는 잘 모릅니다 .

+2

두 테이블을 사용하여 쿼리를 수행 할 수 있습니까? 아니면 JOIN 문법을 모르는 것입니까? – andrewsi

+0

내가 할 수는 없지만 좋은 알고리즘을 알지 못한다. 데이터로 3 행이나 다른 것을 선택해야한다. ( – Wizard

답변

2

나는 이런 식으로 뭔가가 작동하지 않을 수 있습니다 생각 : 새로운 쿼리

SELECT 
    companyName, projectName, companyID 
FROM 
    company c 
INNER JOIN 
    companyName cn ON c.companyID=cn.companyID 
INNER JOIN 
    project p ON c.companyID=p.companyID 

편집 해

SELECT 
    cn.name, p.name 
FROM 
    company c 
INNER JOIN 
    companyName cn ON c.companyID=companyName.ID 
INNER JOIN 
    project p ON c.companyID=project.ID 

은 당신이 후에 어떤 걸?

+0

companyName, projectName은 이제 ROW이고, 이것은 3 개의 테이블입니다. companyName, projectName, company. – Wizard

+0

SELECT 문에 companyID를 추가했습니다. 그게 무슨 뜻입니까? – andrewsi

+0

제 첫 번째 글을보고 편집하십시오, 아마도 지금 당신을 위해 더 쉽게 이해할 수있을 것입니다;) – Wizard

0
Select cn.companyname, p.projectname 
FROM company c, projects p, companyname cn 
WHERE c.id = p.id AND c.id = cn.id 
+0

내 첫 번째 게시물을보고 편집 해주세요 :) – Wizard

관련 문제