Как соединить таблицы - PullRequest
0 голосов
/ 28 мая 2019

Я застрял с моим кодом.Я хочу, чтобы все из моей таблицы serviceticket было показано с CUSTID.Я получаю сообщение об ошибке "двусмысленное имя столбца: CUSTID" Кто-нибудь может мне помочь?Я перепробовал все

create table customers(CUSTID INTEGER PRIMARY KEY AUTOINCREMENT,
    FIRSTNAME TEXT(50),
    LASTNAME TEXT (50),
    STREET TEXT(50),
    CITY TEXT(50),
    ZIP INT(4),
    PHONENUMBER INT(8),
    EMAIL VARCHAR(50)
);

create table serviceticket(SERVICETICKETID int(2) NOT NULL PRIMARY KEY,
    TICKETNUMBER INT,
    CUSTID int,
    DATE_RECIEVED text,
    EXPECTED_DELIEVERYDATe TEXT,
    COMMENTS TEXT,
    DATE_RETURNED TEXT
);

insert into customers (FIRSTNAME, LASTNAME, STREET, CITY, ZIP, PHONENUMBER, EMAIL) 
  values ('Jørgen', 'Marven', 'Dræmmestad 22', 'Gjøvik', 6026,12837262, 'jørge@gmail.com');

insert into serviceticket(SERVICETICKETID, TICKETNUMBER,CUSTID, DATE_RECIEVED, EXPECTED_DELIEVERYDATE, COMMENTS, DATE_RETURNED)
  values (56, 133, NULL, NULL, '12/4/19', '22/4/19', 'Wants authenic parts', '22/4/19');


select SERVICETICKETID, TICKETNUMBER, CUSTID, DATE_RECIEVED, EXPECTED_DELIEVERYDATE, COMMENTS, DATE_RETURNED
from serviceticket, customers
where serviceticket.CUSTID = customers.CUSTID;

1 Ответ

0 голосов
/ 28 мая 2019

Вы написали select SERVICETICKETID, TICKETNUMBER, CUSTID, ... без указания, является ли CUSTID из serviceticket или customers. Написать

select SERVICETICKETID, TICKETNUMBER, customers.CUSTID, ...

и вы должны использовать синтаксис объединения, более новый, чем синтаксис where для объединения таблиц. Вы также можете использовать псевдонимы таблиц, чтобы сделать запрос более читабельным

select
    S.SERVICETICKETID, S.TICKETNUMBER, C.CUSTID, S.DATE_RECIEVED, S.EXPECTED_DELIEVERYDATE,
    S.COMMENTS, S.DATE_RETURNED
from
    serviceticket S
    INNER JOIN customers C
        ON S.CUSTID = C.CUSTID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...