2009-11-23 2 views
1

Я просто хотел спросить, есть ли более простой способ получить записи из всех таблиц db, используя один запрос, где некоторые таблицы связаны с помощью PK и FK.Mysql: Получить результаты из всех таблиц

Например, у меня есть раскрывающийся, который имеет «Автомобили», «Мотоциклы», «Транспорт», и т.д.

Когда я выбираю Автомобили, я получить результаты только из-за стола Автомобили.

Но теперь я добавил «Все» к этому выпадающему значению, что означает получение результатов из всех таблиц для поискового запроса.

Как это сделать?

+0

было бы идеально, если есть класс, который может выполнить поиск по всей БД по заданным критериям !! – Sarfraz

ответ

2

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

SELECT * FROM cars UNION 
SELECT * FROM bikes UNION 
SELECT * FROM trucks; 
0

Если одна таблица содержит внешний ключ, который ссылается на вторую таблицу, вы можете использовать соединение. Отправьте DDL своих таблиц и опишите результат, который вы хотели бы получить более подробно.

0

Одна из возможностей заключается в изменении структуры базы данных, чтобы три таблицы «Автомобили, велосипеды и грузовики» были объединены в один стол-транспорт с добавленной колонкой, которая указывает, какой тип транспортного средства он имеет.

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

Смежные вопросы