mysql дополнительные столбцы с одинаковыми именами из двух таблиц - PullRequest
1 голос
/ 07 января 2011

В таблице 1 есть столбцы: entry_id user_id ... В таблице 2 есть столбцы: entry_id user_id ...

запись user_id не всегда одна и та же, поэтому я хотел бы извлечь их обе, чтобы позже я мог сравнить их в своем сценарии

SELECT * FROM 
table1 as t1
INNER JOIN table2 as t2 on t1.entry_id=t2.entry_id
WHERE t1.user_id='%s'

Я хотел бы извлечь t1.user_id и t2.user_id ... проблема в том, что массив результатов имеет только user_id

спасибо

Ответы [ 3 ]

4 голосов
/ 07 января 2011

Используйте AS ключевое слово:

SELECT
  t1.user_id as t1_user_id
  ,t2.user_id as t2_user_id
FROM table1 as t1
INNER JOIN table2 as t2
  ON t1.entry_id=t2.entry_id
WHERE t1.user_id='%s'
0 голосов
/ 07 января 2011

Вы можете эффективно использовать ALIASING (т.е. использовать ключевое слово AS).

SELECT t1.user_id as user_id_1, t2.user_id as user_id_2  FROM 
table1 as t1
INNER JOIN table2 as t2 on t1.entry_id=t2.entry_id
WHERE t1.user_id='%s'
0 голосов
/ 07 января 2011

SELECT t1.user_id AS user_id_1, t2.user_id AS user_id2, ...

Я думаю, что платформа, выполняющая запрос, виновата в «слиянии» двух столбцов, результирующий набор должен иметь оба, но они сохраняются в ассоциативном массиве где-то вдоль линии.

Хорошей идеей является запрос только тех столбцов, которые вам действительно нужны:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...