У меня есть большая база данных, насчитывающая около 190 столбцов в 22 таблицах. Существует несколько таблиц, которые позволяют несколько записей в базу данных, все значения ссылаются на внешний ключ. Когда я использую LEFT OUTER JOIN
Если в одном столбце, соответствующем определенному идентификатору, имеется несколько записей, он создает новую строку со всей информацией, как раньше, только изменяя поля таблицы. Например:Использование LEFT OUTER JOIN возвращает одну согласованную строку и дополнительные только совпадающие идентификаторы
+-----------+---------------------------+-----------------------------+----------------+-------+-------+---------+-------------------------------+
| CompanyID | Name | Address | City | State | Zip | Country | Website |
+-----------+---------------------------+-----------------------------+----------------+-------+-------+---------+-------------------------------+
| 227 | Hello Company | 123 blvd | Boom | OK | 56008 | USA | www.imtired.com |
| 228 | Test Company | 87 Wesley Street | Denham | LA | 21726 | USA | www.tests.com |
| 229 | Testing Company | 2 US hwy 281 N. | Antonio | TX | 64258 | USA | www.modeling.com |
| 230 | TestCompany | 45 W. 95th St | Oak Lawn | IL | 61453 | USA | www.express.com |
| 235 | Encore | 2142 S. Patterson | City | IA | 43106 | USA | www.boomsite.com |
| 235 | Encore | 2142 S. Patterson | City | IA | 43106 | USA | www.testingsite.com |
+-----------+---------------------------+-----------------------------+----------------+-------+-------+---------+-------------------------------+
Вы видите, что компания Encore имеет два ряда с только веб-сайт непохожесть есть способ сделать это следующим образом:
+-----------+---------------------------+-----------------------------+----------------+-------+-------+---------+-------------------------------+
| CompanyID | Name | Address | City | State | Zip | Country | Website |
+-----------+---------------------------+-----------------------------+----------------+-------+-------+---------+-------------------------------+
| 227 | Hello Company | 123 blvd | Boom | OK | 56008 | USA | www.imtired.com |
| 228 | Test Company | 87 Wesley Street | Denham | LA | 21726 | USA | www.tests.com |
| 229 | Testing Company | 2 US hwy 281 N. | Antonio | TX | 64258 | USA | www.modeling.com |
| 230 | TestCompany | 45 W. 95th St | Oak Lawn | IL | 61453 | USA | www.express.com |
| 235 | Encore | 2142 S. Patterson | City | IA | 43106 | USA | www.boomsite.com |
| | | | | | | | www.testingsite.com |
+-----------+---------------------------+-----------------------------+----------------+-------+-------+---------+-------------------------------+
Это фрагмент из I запроса используя:
SELECT * FROM `company` C
LEFT OUTER JOIN owner O USING (CompanyID)
LEFT OUTER JOIN sales S USING (CompanyID)
Этот тип модификации данных, вероятно, лучше всего сделать на уровне приложения. Просто следите за компанией, а во втором и последующих случаях забудьте о столбцах, которые вы хотите закрыть. –
Помог ли мой ответ решить вашу проблему? – rakeshjain
Да, спасибо, но я прокомментировал с предпочтением. Я продолжаю получать синтаксическую ошибку, если я удалю запятую и попробую использовать '\ r' – Yamaha32088