СОВМЕСТНЫЙ MySQL Query - PullRequest
       6

СОВМЕСТНЫЙ MySQL Query

1 голос
/ 02 декабря 2009

Если у меня есть таблицы, такие как:

table_1: 1, 'Hello My Name is Hal', '2009:11:02 08:42'
table_1: 2, 'Hello My Name is Dave', '2009:11:02 08:30'
table_2: 1, 'Ima all #red due to twitter', '2009:11:02 09:42'

И давайте представим, что все столбцы таблицы имеют одинаковые col_names

Можно ли как-нибудь сделать запрос, чтобы вернутьприводит к одному SELECT на разных строках

Что-то вроде:

SELECT * FROM table_1, table_2 ORDER BY dateReg DESC

Таким образом, мой результат будет выглядеть так:

1, 'Ima all #red due to twitter', '2009:11:02 09:42'
1, 'Hello My Name is Hal', '2009:11:02 08:42'
2, 'Hello My Name is Dave', '2009:11:02 08:30'

Когда я пытаюсь запуститьВыше запроса я получаю ошибки неоднозначности (очевидно ... Duhh ..: D), но есть ли способ, которым мы можем сделать это в запросе, а не сортировать в коде с использованием PHP.

Любые идеи?Заранее спасибо

Ответы [ 4 ]

3 голосов
/ 02 декабря 2009

Вы можете использовать UNION (или UNION ALL) для объединения результатов из нескольких запросов:

SELECT * FROM table_1 UNION ALL SELECT * FROM table_2

(Простой UNION удалит дубликаты, UNION ALL вернет все результаты.)

1 голос
/ 02 декабря 2009

Вы можете использовать UNION Queries

0 голосов
/ 09 февраля 2011

Используя первоначальный пример в качестве основы, есть ли способ, где table2 может перегрузить строку с тем же идентификатором в table1?

Таким образом, ожидаемый результат будет:

1, 'Ima all #red due to twitter', '2009:11:02 09:42'
2, 'Hello My Name is Dave', '2009:11:02 08:30'
0 голосов
/ 02 декабря 2009

Использовать псевдонимы таблиц;)

Что-то вроде:

SELECT table1.id AS table1_id, table2.id AS table2_id, table3.id AS table3_id FROM table1, table2, table3

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