Как предотвратить дублирование имен таблиц при использовании перекрестного соединения? - PullRequest
0 голосов
/ 03 февраля 2019

У меня есть следующие таблицы в базе данных SQL:

t_customers
   ID_operator int primary key auto_incr
   firstname   varchar(30)
   lastname    varchar(30)
   email       varchar(100)


t_operator
   ID_operator int primary key auto_incr
   firstname   varchar(30)
   lastname    varchar(30)
   course      varchar(10)

У меня есть другая таблица, представляющая порядок, в котором я соединяю оба поля при запросе другого поля:

SELECT 
    *, // table t_orders
    t_customers.firstname, 
    t_customers.lastname, 
    t_operator.firstname AS operator_firstname, 
    t_operator.lastname AS operator_lastname 
FROM 
    t_orders 
CROSS JOIN 
    t_customers, t_operator 
WHERE 
    id_orders IS 1;

Я пытался облегчить это, используя ключевое слово AS, и новые поля добавляются, но у меня все еще есть 2 поля с именами «имя» и «фамилия» в моем запросе, что не позволяет мне работать с ним правильно.Есть ли какое-нибудь решение кроме переименования таблиц?

1 Ответ

0 голосов
/ 03 февраля 2019

Вы пытаетесь сделать что-то подобное?

SELECT o.*, // table t_orders
       c.firstname, c.lastname, 
       op.firstname AS operator_firstname, 
       op.lastname AS operator_lastname 
FROM t_orders o JOIN
     t_customers c
     ON o.id_customer = c.id_customer JOIN
     t_operator op
     ON c.id_operator = c.id_operator
WHERE id_orders = 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...