- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день.
В первой таблице хранятся Списки страховых. Во второй расчеты на них для разных клиентов.
Но например во вротой таблице могу присутствовать не все расчеты, если компания в первую таблицу была добавлена после создания списка расчетов.
Я составил такой запрос:
Но вытаскивает он мне только те строки, для которых компаний есть расчет во второй таблице. А надо, чтобы и при несуществующем расчете компания вытаскивалась.
Что я сделал неверно?
… ON (a.id=b.iid OR b.iid IS NULL) …
;10808774']… ON (a.id=b.iid OR b.iid IS NULL) …
Нет. Результат тот же. Вытаскивается только с существующими расчетами.
WHERE b.group_id='".intval($id)."' OR b.group_id IS NULL OR b.group_id=0
капайте в эту сторону
WHERE b.group_id='".intval($id)."' OR b.group_id IS NULL OR b.group_id=0
капайте в эту сторону
Я даже покопал. И выдает он NULL для таблиц без соответствий. Но это по какой-то причине не вытаскивает.
Могу прислать структуры таблиц с содержимым, если необходимо.
---------- Добавлено 03.09.2012 в 21:18 ----------
Вот структура и тестовое содержимое таблиц.
Вы какой group_id сравниваете? И вообще покажите мне хоть одно поле с не NOT NULL значением?
Эти асчеты объединены по группам. Вот например надо вытащить расчеты у которых группа равна 1. Но даже если для какой-то компании расчетов не существует, то строки быть должны.
Сравниваю я group_id из второй таблицы.
Сравниваю я group_id из второй таблицы.
Точно? А ничего в нем не смущает? NOT NULL например?
`group_id` int(100) NOT NULL DEFAULT '0',
SELECT c.*, p.* FROM bb_p_ins_comp c LEFT JOIN bb_p_ins_price p ON (c.id=p.iid) WHERE p.group_id IN ({$id},0)
Точно? А ничего в нем не смущает?
`group_id` int(100) NOT NULL DEFAULT '0',
WHERE group_id={$id} OR grup_id=0
Так по сути он NOT NULL если его не заполнили.
А еслион вытаскивается по LEFT JOIN, то его результат разве не NULL? Это не запись из таблицы. Это результат склейки же.
Так по сути он NOT NULL если его не заполнили.
А еслион вытаскивается по LEFT JOIN, то его результат разве не NULL? Это не запись из таблицы. Это результат склейки же.
Вы не правильно понимаете, вы должны сравнивать не результат JOIN'a а значение поле. http://ru.wikipedia.org/wiki/Join_(SQL)#LEFT_OUTER_JOIN
Вы не правильно понимаете, вы должны сравнивать не результат JOIN'a а значение поле. http://ru.wikipedia.org/wiki/Join_(SQL)#LEFT_OUTER_JOIN
Да это все равно ничего не меняет. Даже если я пишу
Все равно не вытаскиваются.