`table_1`.`table_1_param_1` and ((`table_2`.`table_2_param_3` = 1 or `table_2`.`table_2_param_4` = 1))
table_1 содержит 104 записи
table_2 содержит 107 записей
результат содержит 109 записей (не совпадает ни первой таблицей ни со второй, и не является пересечением 2х таблиц), причем 41 строка нормальная, с данными, остальные 68 строк содержат только null
2 вопроса
1) что я делаю не так? откуда берется 109 записей при 104 изначальных
2) как получить только 41 запись с данными и отбросить "зануленные"?
41 запись это limit 41
вот я тупень... спасибо) а по первому вопросу?
нет никаких лимитов, запрос весь показал
inner join?
Ну если ты хочешь первые 41 то сделай limit 41 в конце
да, уже разобрались, я чет уперся в райт джоин как баран и не видел больше ничего
не, не хочу 41))) вопрос был "почему вариантов 109?" 104 в одной, 107 в другой. откуда 109? но кажется допетрил, несколько записей ссылались на одну и ту же строку, вот и добавились к 107 еще 2
У тебя они никак соеденнны select берет 104 записи а Джойн Добавляет еще 5
Точнее соеденены но как-то муторно
не буду сейчас спорить (особенно после того как пришел с вопросом по райт джойнам вместо кросджойна)
Обсуждают сегодня