가변 개수의 열이있는 두 개의 테이블이 있습니다. 예를 표 A에 대해 (내가 거기 이름은 얼마나 많은 열 또는 모르는)와SQL 내부에서 동일한 열 이름을 가진 두 테이블을 결합하십시오.
TableA의 표 B. :
ID | B_ID | {variable}
TableB의
ID | {variable}
검색어 :
SELECT TableA.*, TableB.* FROM TableA INNER JOIN TableB ON TableA.B_ID= TableB.id;
TableA와 TableB 모두에 동일한 이름의 열이있는 경우 두 개의 서로 다른 열을 구분할 수 없습니다. 내가 무엇을 찾고 있어요 것은 두 테이블을 구별 할 수있는 방법입니다
ID | ID | B_ID | NAME | NAME |
1 | 35 | 35 | bob | jim |
:에 두 테이블의 예를 들어 열 "이름"이이 쿼리가 발생할 것입니다. 가급적 열 이름과 같은 prefex를 사용하십시오.
TableA_ID | TableB_ID | TableA_B_ID | TableA_NAME | TableB_NAME |
1 | 35 | 35 | bob | jim |
"AS"키워드는 알고 있지만 문제는 이전에 열 이름이 무엇인지 알 수 없다는 것입니다.
그래서 내 질문은 당신이 테이블이있을 수 있습니다 때 조인 INNER와 두 테이블 사이의 열을 구별하려면 어떻게
입니다 (TableA의 또는 TableB의 컬럼 이름을 위하여려고하는 경우 나도 몰라) 같은 열 이름?
SQLite3을 사용하고 있습니다.
사용자가 런타임에 생성 한 테이블을 쿼리 할 수있는 일종의 펑키 한 동적 SQL과 유사합니다. – FrustratedWithFormsDesigner
열 이름을 모르는 경우 디자인에 심각한 문제가 있음을 양해 해 주시기 바랍니다. Select 문은 select *를 사용하지 않아야합니다. 특히 동일한 열이 두 번 반환되는 조인에서 열 이름을 지정해야합니다. 이는 서버 리소스를 낭비합니다. – HLGEM
테이블이 생성되고 있다면, 그 테이블은 캡쳐 할 수있는 컬럼 이름을 가지고 있습니다 ... – AllenG