2016-06-05 4 views
0

SQL 쿼리로 PAYMENT_GATEWAY 이름을 가져오고 싶습니다. 내가 숫자로 PAYMENT_GATEWAYT_ID를 저장 당신이 볼 수 있듯이내부 SQL 쿼리

CREATE TABLE PAYMENT_GATEWAY(
ID SERIAL NOT NULL, 
NAME TEXT 
) 
; 

ALTER TABLE PAYMENT_GATEWAY ADD CONSTRAINT KEY38 PRIMARY KEY (ID) 
; 

CREATE TABLE PAYMENT_GATEWAY_ACCOUNT(
ID SERIAL NOT NULL, 
PAYMENT_GATEWAYT_ID INTEGER 
) 
; 

CREATE INDEX IX_RELATIONSHIP18 ON PAYMENT_GATEWAY_ACCOUNT (PAYMENT_GATEWAYT_ID) 
; 

ALTER TABLE PAYMENT_GATEWAY_ACCOUNT ADD CONSTRAINT KEY39 PRIMARY KEY (ID) 
; 

선택 쿼리

SELECT * FROM PAYMENT_GATEWAY_ACCOUNT 

:이 테이블을 사용합니다. NAME 열을 PAYMENT_GATEWAY로 선택하고 이름 문자열을 결과로 표시하도록 SQL 쿼리를 수정하는 방법은 무엇입니까?

답변

1

내가 알 수있는 것은이 두 테이블을 함께 결합하는 방법을 묻는 것입니다.

SELECT 
    pga.ID, 
    pg.NAME 
FROM 
    PAYMENT_GATEWAY_ACCOUNT pga 
INNER JOIN 
    PAYMENT_GATEWAY pg 
    ON (pg.ID = pga.PAYMENT_GATEWAYT_ID); 

위의 당신에게 PAYMENT_GATEWAY_ACCOUNT

주목해야 할 또 하나의 ID과 관련된 참조 무결성을 유지하기 위해 PAYMENT_GATEWAY_ACCOUNTFOREIGN KEY 참조를 추가하는 것을 고려해야한다는 것입니다있는 NAME을 얻을 것이다. 워드 프로세서

CREATE TABLE PAYMENT_GATEWAY_ACCOUNT(
    ID SERIAL NOT NULL, 
    PAYMENT_GATEWAYT_ID INTEGER REFERENCES PAYMENT_GATEWAY(ID) 
); 

: https://www.postgresql.org/docs/current/static/ddl-constraints.html#DDL-CONSTRAINTS-FK