2014-04-29 2 views
0

예를 들어 1000 개의 레코드가있는 테이블이 있습니다. 내가하려고하는 쿼리는 다음과 같이 표시됩니다.MySQL 쿼리에 문제가 발생했습니다.

substring_part_name  number_of_warehose  number_of_parts 
156        1      50 
156        2      140 
156        3      300 
180        3      130 
120        1      80 
120        2      300 

1000 레코드를 얻습니다. 문제는 이것입니다, part_name은 다음과 같습니다 : x_156, b_156, d_156, h_120, f_120 등등. 모든 부품에는 해당 창고가 있습니다. 첫 번째 열은 다음과 같습니다. (substring (part_name, 3)) substring_part_name으로 구분됩니다. 이름의 마지막 부분 만 원합니다. 그 결과를 어떻게 얻을 수 있습니까 ??

내 쿼리이게 ((part_name 3) 문자열)로 substring_part_name (ware_house 부 #the의 수)를 계산 별개 선택 ware_houses에서 ware_house substring_part_name 의해 기;

+0

어쩌면 더 표준화 된 방식으로 데이터를 저장 – Strawberry

+0

나는 :( – DanielYoshua

+0

당신이 당신을 여기에 새 게시 할 수있어 이미지 나오긴을 넣어 coudn't 죄송합니다 여기에서 쿼리 하시겠습니까? 설명이 명확하지 않습니다 .. –

답변

0

SUBSTRING (-3)에는 음수를 사용하여 마지막 세 문자를 가져옵니다.

select 
    distinct(substring(part_name, -3)) as substring_part_name, 
    number_of_warehouse, 
    number_of_parts 
from table 

또한 RIGHT가 사용할 수 있습니다

distinct(right(part_name, 3)) as substring_part_name 
+0

부품 번호에 문제가 있습니다. 그런 식으로 뭔가를했지만 모든 레코드가 포함되어 있지 않습니다. – DanielYoshua

+0

@ user3587187 당신이 무엇을 찾고 있는지 모르겠습니다. 문제를 명확하게 전달하지 않았습니다. – citsonga

관련 문제