1052년:필드 목록 열에 'id'라고 애매한 것이다.
테이블이 두 개 있어요. tbl_names
그리고.tbl_section
두 가지 기능을 모두 갖추고 있습니다.id
밭을 갈고마워요.어떻게 하면,id
필드, 항상 다음 오류가 표시되기 때문입니다.
1052: Column 'id' in field list is ambiguous
여기 제 질문:
SELECT id, name, section
FROM tbl_names, tbl_section
WHERE tbl_names.id = tbl_section.id
그냥 문제만은 피해모든 분야는 선택할 수 있다.공연에서 하지만 그 돈 낭비가 될 것.어떻게 해야 하나?
SQL은 완전한 테이블 이름 기준 고정 영역 변환에 의한 칼럼 예선:을 지원한다.
SELECT tbl_names.id, tbl_section.id, name, section
FROM tbl_names
JOIN tbl_section ON tbl_section.id = tbl_names.id
...나 테이블 별칭:
SELECT n.id, s.id, n.name, s.section
FROM tbl_names n
JOIN tbl_section s ON s.id = n.id
그 탁자는 별칭을 권장하는 접근법 왜 형식 외에는?
왜 이러한 질의 봐 다르다?
두번째로, 나의 대답 ANSI-92 JOIN 구문(네 목숨이 ANSI-89)을 사용한다.그들은 같은 공연할 때, ANSI-89 구문 OUTER(오른쪽, 왼쪽, FULL)과 인접해 지원하지 않습니다.ANSI-89 구문 사용되지 않, 접형골 후두골 연골 결합에 ANSI-89 구문 그것을 강화하기 위해 투표하지 않겠다는 고려해야 한다.상세한 것에 대하여는, 이 질문을 참조해 주세요.
고객님의 고객명SELECT
원하는 테이블로 ID의 서문을 작성해야 합니다.
SELECT tbl_names.id, name, section
FROM tbl_names
INNER JOIN tbl_section
ON tbl_names.id = tbl_section.id
또는
SELECT tbl_section.id, name, section
FROM tbl_names
INNER JOIN tbl_section
ON tbl_names.id = tbl_section.id
예를 들어 다음과 같은 완전 수식 이름을 지정하면 됩니다.
SELECT tbl_names.id as id, name, section FROM tbl_names, tbl_section WHERE tbl_names.id = tbl_section.id
그러면 tbl_names의 ID를 얻을 수 있습니다.
이미 답변이 많으니까 이렇게도 할 수 있어요.테이블에 에일리어스 이름을 지정하여 다음과 같이 선택 쿼리에서 사용할 수 있습니다.
SELECT a.id, b.id, name, section
FROM tbl_names as a
LEFT JOIN tbl_section as b ON a.id = b.id;
가장 간단한 해결책은 다음과 같이 가입하는 것입니다.USING
대신ON
이렇게 하면 데이터베이스는 양쪽이 모두id
열은 실제로 같기 때문에 트집 잡지는 않습니다.
SELECT id, name, section
FROM tbl_names
JOIN tbl_section USING (id)
한다면id
에서 유일하게 공통되는 컬럼 이름입니다.tbl_names
그리고.tbl_section
, 를 사용할 수도 있습니다.NATURAL JOIN
:
SELECT id, name, section
FROM tbl_names
NATURAL JOIN tbl_section
참고 항목: https://dev.mysql.com/doc/refman/5.7/en/join.html
여기서 정말 하고 싶은 것은 유니언 연산자를 다음과 같이 사용하는 것입니다.
(select ID from Logo where AccountID = 1 and Rendered = 'True')
union
(select ID from Design where AccountID = 1 and Rendered = 'True')
order by ID limit 0, 51
여기 이 문서의 원고가 있습니다.https://dev.mysql.com/doc/refman/5.0/en/union.html
2개의 테이블에 있는 ID의 형식이 다른 경우 가입하고 싶은 경우, 예를 들어 다음과 같이 1개의 메인테이블에서 ID를 사용하도록 선택할 수 있습니다.table_customes
그리고.table_orders
주문 ID는 "101", "102"와 같습니다.【110】고객용으로 1개만 사용
select customers.id, name, amount, date from customers.orders;
SELECT tbl_names.id, tbl_names.name, tbl_names.section
FROM tbl_names, tbl_section
WHERE tbl_names.id = tbl_section.id
언급URL : https://stackoverflow.com/questions/6638520/1052-column-id-in-field-list-is-ambiguous
'programing' 카테고리의 다른 글
ImportError: libGL.so.1: 공유 객체 파일을 열 수 없습니다.해당 파일 또는 디렉터리가 없습니다. (0) | 2022.09.21 |
---|---|
mariadb 사용자에게 데이터베이스 생성 권한 부여 (0) | 2022.09.21 |
MySQL에서 주별로 그룹화하는 방법 (0) | 2022.09.21 |
FreeBSD 분기 바이너리 mariadb101-server가 없습니다. 이유가 무엇입니까? (0) | 2022.09.21 |
새로운 판다 칼럼을 만들기 위해 여러 인수가 있는 기능 적용 (0) | 2022.09.21 |