2011-09-24 2 views
0

테이블 구문과 * 구문을 결합 할 수 있습니까? "위의 코드는 subfunds"테이블 FROM 절 항목에 유효하지 않은 참조 "구문 오류를테이블 약어와 함께 asterix 구문을 결합하는 방법

를 얻을 수

"SELECT subfunds.* FROM subfunds S" + 
" INNER JOIN funds F ON S.id_fund = F.id" + 
" WHERE F.fund_short IN('" + stSQLFundList + "')" 

:

내가 좋아하는 일을하고 싶습니다.

만약 내가 그렇게 발견했다면

"SELECT * FROM subfunds S" + 
" INNER JOIN funds F ON S.id_fund = F.id" + 
" WHERE F.fund_short IN('" + stSQLFundList + "')" 

그렇다면 subfunds 테이블에서만이 아니라 두 테이블에서 모든 필드를 얻습니다.

그래서 첫 번째 테이블 (및 다른 테이블의 필드 없음)에서 모든 필드를 얻으려면 내 대답 집합에서 한 글자 테이블 약어를 사용할 수 있습니까?

+2

Google "SQL Injection Attack" –

+1

** 테이블 별칭 **을 사용하는 경우 해당 별칭을 사용하여 원하는 열을 참조해야합니다. 따라서 SELECT SELECT. * FROM subfunds s .... –

+0

감사합니다. – user962915

답변

1

코드를 변경하면 하위 기둥에서 모든 입력란을 가져옵니다.

"SELECT S.* FROM subfunds S" + 
" INNER JOIN funds F ON S.id_fund = F.id" + 
" WHERE F.fund_short IN('" + stSQLFundList + "')" 

별칭을 사용하는 경우 별칭으로 해당 테이블을 참조하려고합니다.

+0

감사합니다. 그 변종을 시도했는데 맹세 할 수는 있었지만 어쩌면 문법의 다른 측면이 달라졌을 수도 있습니다 ... – user962915

+0

그것이 효과가 있다면 답을 받아 들여야합니다. :) – Taryn

관련 문제