Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Sql запрос выдает 4 милона строк


Recommended Posts

  В 07.11.2018 в 08:42, chukcha сказав:

Ну так почитайте..

sql декартово произведение - что это такое..

Expand  

декартовом произведении каждая строка из одной таблицы соединяется с каждой строкой второй таблицы. - ок

Надіслати
Поділитися на інших сайтах

  В 07.11.2018 в 08:33, so0EmFD190 сказав:

и как ее устранить ?

Expand  

написать нормальный запрос

Надіслати
Поділитися на інших сайтах

  В 07.11.2018 в 08:47, so0EmFD190 сказав:

декартовом произведении каждая строка из одной таблицы соединяется с каждой строкой второй таблицы. - ок

Expand  

Напишу ниже без иронии, т.к., очевидно, не все умеют в юмор и не видят толстых намеков ))

 

Ваш запрос отрабатывает верно и показывает тот результат, который Вы запросили. Беда в том, что Ваш селект производит выборку из ДВУХ таблиц (product и product_description), но Вы не указали в условии запроса логику выборки. Вот и получается на выходе, что для каждой строки первой таблицы запрос отображает все записи из второй таблицы :ugeek: Об это Вам выше и толкуют, говоря про декартово произведение. :-D

 

вместо непонятного where 1 укажите явную логику выборки, например:  where oc_product.product_id = oc_product_description.product_id

по-русски говоря, объясните запросу, что хотите видеть в результате две таблицы объединенные по значению поля product_id, например.

 

Чуть подучите матчасть по простейшим sql-запросам прежде чем просить помощи. Займет немного времени, и у участников любого ресурса будет больше желания помогать, видя тот факт, что Вы хотя бы старались ;)

Змінено користувачем 100napb
  • +1 1
Надіслати
Поділитися на інших сайтах

  В 07.11.2018 в 13:02, 100napb сказав:

Напишу ниже без иронии, т.к., очевидно, не все умеют в юмор и не видят толстых намеков ))

 

Ваш запрос отрабатывает верно и показывает тот результат, который Вы запросили. Беда в том, что Ваш селект производит выборку из ДВУХ таблиц (product и product_description), но Вы не указали в условии запроса логику выборки. Вот и получается на выходе, что для каждой строки первой таблицы запрос отображает все записи из второй таблицы :ugeek: Об это Вам выше и толкуют, говоря про декартово произведение.

 

вместо непонятного where 1 укажите явную логику выборки, например:  where oc_product.product_id = oc_product_description.product_id

по-русски говоря, объясните запросу, что хотите видеть в результате две таблицы объединенные по значению поля product_id, например.

 

Чуть подучите матчасть по простейшим sql-запросам прежде чем просить помощи. Займет немного времени, и у участников любого ресурса будет больше желания помогать, видя тот факт, что Вы хотя бы старались

Expand  

 Понял спасибо )

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.