목록에서 두 항목 연결 [닫기]


-1

저는 예리한 DOTA 2 플레이어입니다. 능력과 강점과 약점이 다른 약 100 명의 영웅 풀에서 게임을하는 5 대 팀 비디오 게임입니다.

나는 종종 팀 주장을하고 서로를 보완하고 다른 주장의 선택에 취약성을 드러내는 영웅을 선택하는 것이 중요합니다.

Excel 또는 Access에서 개인 친구 및 적 데이터베이스를 설정하고 싶지만 다른 솔루션이있을 수 있습니다.

Venge> Enigma와 같이 두 명의 영웅을 카운터로 표시하면 어떻게 할 수 있습니까? 한 번만 수행하면 Venge가 표시되면 Enigma가 표시되고 Enigma가 표시되면 Venge가 표시됩니다.

예 :

  • 복수 카운터 수수께끼
  • 복수에 의해 반격 된 수수께끼

또는

  • Wisp과 CK의 결합
  • CK는 Wisp와 결합

각 카운터 / 조합에 대한 데이터를 한 번만 입력하고 싶습니다.

다시 말하면 http://www.mobacounter.com/dota/heroes 와 같은 것이지만 내 PC에 내 목록이 있습니다.

나는 이것이 쉬운 것으로 생각하지만 질문을 표현하는 방법을 모르면 Google이 대답하기가 정말 어렵습니다.

답변:


2

Microsoft 프로그램에 대한 실마리는 없습니다. 디자인에 대한 피드백을 드릴 수 있습니다.

기본적으로 모든 영웅과 그 속성에 대한 하나의 테이블과 누가 누구를 물리 칠 것인지 정의하는 다른 테이블이 필요합니다.

이것이 postgresql에서 수행하는 방법입니다. 아마도 정확히 원하는 것은 아니지만 유용한 정보를 추출 할 수 있습니다.

create table hero (name varchar primary key, description varchar, size numeric);
create table defeats (stronger varchar references hero(name), weaker varchar references hero(name), reason varchar, constraint winlose_pk primary key (stronger,weaker));

이제 테이블을 채울 차례입니다.

insert into hero values ('rock', 'big and shiny', 5);
insert into hero values ('scissors', 'sharp and shiny', 4);
insert into hero values ('paper', 'white but dirty', 8);
insert into hero values ('noob', 'defeated by everything', 2);

그리고 이제 관계 테이블 :

insert into defeats values ('rock', 'scissors', 'crushing defeat');
insert into defeats values ('paper', 'rock', 'enveloped');
insert into defeats values ('scissors', 'paper', 'cut');
insert into defeats values ('rock', 'noob', 'stone to the head');
insert into defeats values ('paper', 'noob', 'finger got cut');
insert into defeats values ('scissors', 'noob', 'would not stop runnning');
insert into defeats values ('noob', 'noob', 'self explanatory');

이제 두 테이블이 있습니다.

   name   |      description       | size 
----------+------------------------+------
 rock     | big and shiny          |    5
 scissors | sharp and shiny        |    4
 paper    | white but dirty        |    8
 noob     | defeated by everything |    2



 stronger |  weaker  |         reason          
----------+----------+-------------------------
 rock     | scissors | crushing defeat
 paper    | rock     | enveloped
 scissors | paper    | cut
 rock     | noob     | stone to the head
 paper    | noob     | finger got cut
 scissors | noob     | would not stop runnning
 noob     | noob     | self explanatory

예를 들어 다음 쿼리를 사용하여 누가 강력한 사람인지 확인할 수 있습니다.

select * from defeats where stronger='rock';

 stronger |  weaker  |      reason       
----------+----------+-------------------
 rock     | scissors | crushing defeat
 rock     | noob     | stone to the head

감사! Access 에서이 작업을 수행 해야하는 것처럼 보입니다. 영웅, 카운터 및 시너지의 세 가지 테이블이 필요합니다. 시너지 테이블은 두 명의 영웅이 함께 일한다고 말하면서 다릅니다. 어쩌면 두 개의 열 (영웅 1과 영웅 2)이며 영웅이 두 열에 나타나는 경우 쿼리 할 수 ​​있습니까?
Iain

1
정확하게! 아이디어가 생겨서 다행입니다. 그러나 Synergies 테이블에 약간의 문제가 있음을 두려워합니다. A가 B와 잘 작동하고 B가 A와 잘 작동한다고 추가 할 수 있습니다.
brunch875

1
불행히도 이것에 대한 대안이 없습니다. "반복 복제본"을 삽입하지 않도록주의해야합니다. 이 하나의 체크 stackoverflow.com/questions/4219979/... 이 흥미로운 기사를 가리키는 explainextended.com/2009/03/07/selecting-friends
brunch875
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.