Получить результат из многих таблиц в mysql

#php #mysql #select #multiple-tables

#php #mysql #выберите #несколько таблиц

Вопрос:

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

Вот как я это делаю сегодня.

 $sql="select * from structure 
a, audio b where a.id=b.id_parent and b.published=1 order by b.data desc";
  

Это дает мне список аудио.
Что мне нужно сделать, так это получить ответы из многих таблиц. Как вы можете видеть, я вызываю две таблицы structure и audio. Мне нужно получить результаты из структуры, аудио, вектора и фотографий. Любые подсказки, как я мог бы это сделать?

Комментарии:

1. использование sql join в запросе должно помочь, если я правильно понял..

2. либо вы можете использовать объединения, либо то, как вы это делаете, единственное, что вам нужно, чтобы поместить эти таблицы в отношение связанных столбцов.

Ответ №1:

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

 select * from structure 
a inner join 
audio b on a.id=b.id_parent where b.published=1 order by b.data desc
  

отредактировано согласно комментарию пользователя

вы можете выполнить вложение внутреннего соединения, например

     SELECT DISTINCTROW 
       tblChippingSystems.Manufacturer_ID
     , tblChippingSystems.Chippingcounter
     , tblManufacturer.ManufacturerDesc
     , tblChippingSystems.Customer_ID 
  FROM ( tblChippingSystems 
INNER
  JOIN tblManufacturer 
    ON tblChippingSystems.Manufacturer_ID 
     = tblManufacturer.Manufacturer_ID )
INNER
  JOIN tblModel 
    ON tblChippingSystems.Model_ID = tblModel.Model_ID
 WHERE tblChippingSystems.Customer_ID =   k
ORDER 
    BY tblChippingSystems.Manufacturer_ID DESC
  

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

Комментарии:

1. Как бы я присоединился к другим таблицам из этого? Мне также нужно присоединиться к другим таблицам, но как?

Ответ №2:

Другим способом было бы создать представление в базе данных, основанное на объединенном запросе. Таким образом, вашей программе просто нужно knwo для запроса из этого представления.

Вам все равно нужно будет написать SQL-соединение, но, по крайней мере, после того, как это будет сделано, оно будет прозрачным для остальной части кода.