쿼리 union 테이블과 분야에 열로
-
09-06-2019 - |
문제
모두 필요 없습니다 이것은 가능한 경우,또는의 범주에 속하는 서비스/드라이브 하지만 나는 내가 가고 싶은 질문에 대한 해답을 찾기 위해 참조하십시오.
나는 세 개의 기본 테이블:카드,시설 및 CardProperty.때문에 카드를 동일하지 않은 속성이며,종종 여러 값을 위해 같은 시기로 결정했을 사용하여 조합 테이블의 접근 방식 데이터를 저장하는 대신 정말 큰 열의 구조 내에서 카드를 테이블.
호텔 테이블은 기본적인 키워드/값이 유형이다.그래서 당신은 키워드 ATK 값이 할당되어 있습니다.거기에 또 다른 재산이라는 SpecialType 는 카드는 다수의 값을 가질 수 있습을 위한"등으로 Sycnro"과"어둠"
내가 무엇을 하고 싶은 생성을 보거나 저장 프로시저는 나에게 카드 Id 카드에 이름을,그리고 모든을 제공한 키워드 할당 카드로 열고 그 값에서 ResultSet 카드를 위해 지정됩니다.그래서 이 나는 결과 같이 설정:
ID NAME SPECIALTYPE
1 Red Dragon Archfiend Synchro
1 Red Dragon Archfiend DARK
1 Red Dragon Archfiend Effect
가 계산 결과는 방법입니다.
나는 심지어 바꾼 것은 단순히 연결 속성을 기반으로 함께 자신의 키워드로,그래서 내가 생성할 수 있는 결과 같:
1 Red Dragon Archfiend Synchro/DARK/Effect
..그러나 내가 알지 못하는 경우에는 가능하다.
나를 도와 유래 슈퍼!당신은 나의 유일한 희망입니다.
해결책
다른 팁
관련 그러나 값은 값이에 보관하는 별도의 열과 당신이 알고"특별한 형식"시간의 머리:
SQL 쿼리를 비교하는 제품 판매에 의해 달
그렇지 않으면 나는 이렇게 커서 저장된 절차 또는 예비 변화에서 비즈니스 또는 프레젠테이션층이다.
찔러서 sql 당신이 알고 있는 경우 모든 경우:
Select
ID,NAME
,Synchro+DARK+Effect -- add a some substring logic to trim any trailing /'s
from
(select
ID
,NAME
--may need to replace max() with min().
,MAX(CASE SPECIALTYPE WHEN "Synchro" THEN SPECIALTYPE +"/" ELSE "" END) Synchro
,MAX(CASE SPECIALTYPE WHEN "DARK" THEN SPECIALTYPE +"/" ELSE "" END) DARK
,MAX(CASE SPECIALTYPE WHEN "Effect" THEN SPECIALTYPE ELSE "" END) Effect
from
table
group by
ID
,NAME) sub1
지 않는 붕괴에 의해 연결의 저장과 관련된 레코드에 데이터베이스입니다.지 정확하게 모범 사례를 설명합니다.
당신이 무엇을 설명하는 파일럿 테이블.피벗 테이블 드.나는 그들을 피하는 경우에는 모두 가능합니다.
왜 그냥 읽기 당신의 관련된 행과 프로세스에서 그들을 기억?그것은 소리 하지 않아 당신을 보내고 너무는 시간을 밀리 초 단위로 이렇게...
한 옵션은 속성이 있 PropertyType,그래서:
table cards
integer ID | string name | ... (other properties common to all Cards)
table property_types
integer ID | string name | string format | ... (possibly validations)
table properties
integer ID | integer property_type_id | string name | string value
foreign key property_type_id references property_types.ID
table cards_properties
integer ID | integer card_id | integer property_id
foreign key card_id references cards.ID
foreign key property_id references propertiess.ID
는 방법으로 할 때,당신을 설정하는 새로운 속성 값을 확인할 수 있습니다 그것은 그것의 유형입니다.한 종류 수 있었다"SpecialType"와 함께 열거의 값이 있습니다.
나는 형/형식에 대한 내성 테이블,는 방법을 내가 알고있는 방법을 평가할 때 나는 처리의 정수 값을 사용할 수 있습니다.나는 확실하지 않았다면 그것에 관련된 문제 또는하지 않습니다.