2012-07-11 6 views
1

나는 SQL 경험이 없지만 필요한 것을 얻기 위해 커스텀 SQL을 생성해야하는 작업을위한 보고서를 작성해야한다. 더 많은 정보가 없어도 도움을 줄 수있는 사람이 있는지는 알 수 없지만 Google이 발송 한 고객 설문 결과를 보여주는 보고서를 작성하고 있습니다. 나는 뒤적와 함께 만난다 :초보자를위한 SQL 도움말

SELECT SUR_response.WOPK, SUR_response.completed_YN, 
    SUR_response.ip_address, SUR_response.response_end_date, 
    SUR_response.response_start_date, SUR_Item.ITEM_TEXT, 
    SUR_item_answer.Answer_text, SUR_response_answer.answer_text 
FROM SUR_Item, SUR_response, SUR_Response_Answer, sur_item_answer 
JOIN: 
WHERE:SUR_Response_Answer.ITEM_ID=100 

내가 SELECT *을 시도했지만 내가 FROM 테이블에서 모든 열을 원하지 않는다.

결과가 반환되었지만 최대 8 개 항목이있는 페이지가 1 개만 있어야하는 경우 항목 117 페이지가 반환되는 등 많은 문제가있었습니다. 그것은 스스로 반복해서 반복하는 것처럼 보입니다. 두 번째 행은 일치하지 않거나 상관 관계가 있습니다.

이번에도이 모든 것을 처음부터 다 했으므로 테이블과 컬럼의 차이점을 아는 것과는 별개로 실제로 무엇을하고 있는지 전혀 모릅니다. 그래서 어떤 방향으로 향한 어떤 도움이나 요령이 크게 감사드립니다.

+0

SQL에 익숙하지 않은 사용자는 [** SSMS **] (http://msdn.microsoft.com/en-us/library/ms174173.aspx)와 같은 도구를 사용하는 것이 더 쉽습니다.)를 사용하여 쿼리 디자이너 UI를 사용하여 SQL을 작성하십시오. 또한 [** this one **] (http://www.sqlcourse.com/index.html)와 같이 SQL 쿼리의 기본 개념을보다 잘 이해하기 위해 온라인으로 많은 유용한 자습서를 찾을 수 있습니다. – mellamokb

+0

어떤 데이터베이스를 사용하고 있습니까? 구문은 정말 이상합니다. –

+0

데이터베이스 엔진 (SQL Server, MySQL 등)은 무엇입니까? 또한 다양한 테이블을 함께 묶는 키는 무엇입니까? 이는 JOIN 절을 만들 때 중요합니다. –

답변

0

필요한 조인이 누락되었을 가능성이 높습니다. 조인은 한 테이블의 필드가 다른 테이블의 다른 필드를 참조하는 방법을 나타냅니다. 우리는 당신의 데이터 구조의 세부 사항을 알지 못하면 어느 조인이 빠졌는지 말할 수 없습니다. 이 링크는 설명

조인 : http://www.w3schools.com/sql/sql_join.asp

+0

'유지 관리 연결'이라는 cmms 프로그램을 사용하고 있기 때문에 데이터베이스 엔진 만큼은 확실하지 않습니다. 기본적으로 나는 FROM, JOIN, WHERE, HAVE 인 네 박스를 제공하는 기자 밑에 고급 탭을 사용하고 있습니다. 나는 그것들을 정확하게 채워야 만합니다. 조인을 시도했지만 결과를 표시하지는 않지만 이해하는 키는 다음과 같습니다. Response_ID, Item_ID, Answer_ID –

0

글쎄, 거기에 갈 수있는 많은 아니지만 여기 청사진 : 그것은 여전히 ​​당신을 제공하는 경우

SELECT SUR_response.WOPK, SUR_response.completed_YN, 
     SUR_response.ip_address, SUR_response.response_end_date, 
     SUR_response.response_start_date, SUR_Item.ITEM_TEXT, 
     SUR_item_answer.Answer_text, SUR_response_answer.answer_text 
FROM SUR_Item 
JOIN SUR_response ON Sur_Item.Item_ID=SUR_response.Item_ID 
JOIN SUR_Response_Answer ON Sur_Item.Item_ID=SUR_Answer.Item_ID 
JOIN sur_item_answer ON Sur_Item.Item_ID=SUR_Answer.Item_ID 
WHERE SUR_Response_Answer.ITEM_ID=100 

여분의 행, 다음 JOIN 및/또는 ON 문은 연결되는 테이블과 키와 일치하도록 명령문을 조정해야합니다. 테이블이 서로 어떻게 관련되어 있는지 알려주는 정보가 충분하지 않습니다.

+0

SELECT의 일부가 바인딩 될 수 없다는 메시지가 나타나므로 작동하지 않았습니다. 내가 관련있는 테이블을 돕기 위해 말할 수있는 유일한 것은 첫 번째 열이 작업 주문 # 인 'table1'에서 나온 것입니다. 마지막 열은 '표 2'에서 나오며 사용자가 남긴 주석입니다. 관계는 그 일과 관련된 조사를 한 사람이 한 말이며 의견을 남겼습니다. 내 결과가 어떻게 일치하지 않는지는 코멘트가 잘못된 작업 순서와 같은 행에있을 것입니다. –