SELECT * 열의 MySQL 별칭
저는 같은 표의 데이터를 두 번 사용하는 뷰를 작성하고 있습니다.그 결과 동일한 열 이름이 두 번 나타납니다.
따라서 이 열에 별칭을 부여해야 합니다.제가 그렇게 한다면 다음과 같이 적겠습니다.
SELECT u.* as 'one_*', u2.* as 'two_*'
FROM users u
LEFT JOIN relationships r ON u.id=r.id_one
LEFT JOIN users u2 ON r.id_two=u2.id
하지만 그건 안 돼요.도와주셔서 감사합니다!
편집:
여기 제가 실제로 얻고 있는 데이터가 있습니다.
| id | name | id | name |
1 john 2 alex
다음은 제가 얻고 싶은 데이터입니다(계속 사용하면서).SELECT u.*, u2.*
):
| id | name | brother_id | brother_name |
1 john 2 alex
사용할 수 없습니다.*
가명으로별칭은 개별 열에 사용할 수 있습니다.
대신 각 열에 별칭을 붙여야 합니다.
그래서 불행히도 열이 많으면 다음과 같이 해야 합니다.
SELECT u.col1 AS u_col1
, u.col2 AS u_col2
, u.col3 AS u_col3
-- etc
, u2.col1 AS u2_col1
, u2.col2 AS u2_col2
, u2.col3 AS u2_col3
-- etc
FROM table1 AS u
-- INNER JOIN / LEFT OR RIGHT OUTER JOIN / ,
table2 AS u2
UNION 쿼리를 사용해 보십시오.
예.
select a.typeid, a.typename from MYTABLE a where a.typeid=3 UNION select a.typeid, a.typename from MYTABLE a where a.typeid=4
그냥 사용하지 않으실 수 있나요?SELECT *
그리고 당신의 코드에 다음을 참조합니다.u.field1
그리고.u2.field2
?
이것이 오래된 질문이라는 것을 알고 있지만 최근에 문제가 생겨 해결책을 생각해 냈습니다.
먼저 테이블을 쿼리하고 열 이름을 가져옵니다.
전과가 있는
"$table_name에서 열 표시"
그런 다음 루프를 사용하여 열 이름에 접두사를 연결합니다.
전의
각($all_columns를 $the_column으로 표시) { $http_select .=', '.$table_name.'.$the_column['필드']. 'alias_'.$the_column['Field']; } 그런 다음 이 문자열을 쿼리에 입력하면 모두 prefix_fixn_name인 다른 값 집합을 얻을 수 있습니다.
별칭을 선택합니다.* mysql >= 5.6에서 확실히 작동합니다.
언급URL : https://stackoverflow.com/questions/8341136/mysql-alias-for-select-columns
'programing' 카테고리의 다른 글
PowerShell을 사용하여 파일에 탭 쓰기 (0) | 2023.09.10 |
---|---|
XML에 내포된 주석? (0) | 2023.09.10 |
문자열에서 처음 3자 제거 (0) | 2023.09.10 |
데이터 프레임을 부분 집합화할 때 선택된 정의되지 않은 열 (0) | 2023.09.10 |
jQuery를 사용하여 쿠키를 삭제하는 방법? (0) | 2023.09.10 |