2014-07-11 3 views
1

MySQL SELECT STATEMENT에 숫자 "2"를 추가하는 쉬운 방법이 있습니까? 계속 오류가 있습니다.SELECTED 필드 이름에 숫자를 추가하십시오 mysql

SELECT field_name AS '2' + field_name from table_data as tbl 
left join another_table as ic on ic.id = tbl.provider " . 
where pid = '3' and type = "secondary" order by date DESC limit 1 
+0

왜 나는'2field_name'을 쓰지 않는가? –

+0

필드와 연결하거나 필드에 추가 하시겠습니까? – Sadikhasan

+0

각 필드 이름에 "2"를 추가하고자하므로 2field_name만큼 쉽지 않습니다. – user2031297

답변

0

이 시도 :

SELECT field_name + 2 
FROM table_data AS tbl 
LEFT JOIN another_table AS ic ON ic.id = tbl.provider 
WHERE pid = '3' AND TYPE = "secondary" 
ORDER BY DATE DESC LIMIT 1 
0

를 시도 그것은

SELECT `field_name`+2 
FROM table_data AS tbl 
LEFT JOIN another_table AS ic ON ic.id = tbl.provider " . 
WHERE pid = '3' 
    AND TYPE = "secondary" 
ORDER BY date DESC LIMIT 1 
0

같은 간단한 문제는이 밖으로 시도 : -

SELECT field_name + 2 FROM table_data AS tbl 
LEFT OUTER JOIN another_table AS ic ON ic.id = tbl.provider 
WHERE pid = '3' AND type = "secondary" 
ORDER BY date DESC LIMIT 1; 

MySQL AS keyword를 대체를 지정하는 데 사용됩니다 e를 참조 할 때 사용할 이름 (또는 별칭) ither a table or a column (field) in a table. Refer here for more details

0

달성하려는 시도가 명확하지 않습니다.

AS 키워드는 결과 집합의 식에 할당 된 열 이름을 식별합니다. 이것은 유효한 식별자 여야하며 표현식이 될 수 없습니다.

SELECT CONCAT('2',field_name) AS `2field_name` 

을 그러나 다시, 당신이 달성 하려는지 명확하지 않다 : 각 행의 field_name 컬럼에 저장된 값에 문자 '2' 앞에 추가하려면

, 당신은 같은 것을 할 수 있습니다.

결과 집합의 열에 할당 된 식별자 (이름)를 포함하여 결과 집합의 메타 데이터는 문 준비시 설정됩니다. 결과 집합의 열 이름은 각 행마다 동일합니다. 그것이 식별자가되어야하는 이유입니다. 행마다 다를 수 없습니다. 테이블의 열 이름이 행마다 달라지지 않으며 테이블이 작성 될 때 지정됩니다. 결과 세트의 열은 결과 세트가 지정 될 때 지정되며, 결과 세트의 열은 결과 세트가 지정 될 때 지정됩니다. table/resultset은 열 이름에 영향을주지 않습니다.)

+0

기본적으로 나중에 표시 할 필드 이름의 이름은 2field_x, 2_field_y ... SELECT 부분에 숫자를 추가 할 수 있는지 확인하고 싶습니다 – user2031297

+0

@ user2031297 : 선택 목록에서 표현식을 사용할 수 있습니다 ; 원하는 모든 표현식에서 테이블의'field_name' 열에 저장된 값을 사용할 수 있습니다. 그러나 쿼리가 단일 열을 반환하고 반환 된 열의 이름을 유효한 식별자로 지정해야합니다. 반환 된 열의 이름은 SQL 문을 구문 분석 할 때 고정됩니다. – spencer7593

0

감사합니다 모두! 내가 한 일은 SELECT DB 부분에서 필드 이름의 이름을 바꾸려고 시도하지 않는 것입니다. 나는 쿼리를 실행시키고 그 후에 foreach를 수행했다.

foreach ($result as $k => $v) { 
    unset ($result[$k]); 

    $new_key = "2" . $k; 

    $result[$new_key] = $v; 
    } 
관련 문제