powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Не могу разобраться с JOIN
10 сообщений из 10, страница 1 из 1
Не могу разобраться с JOIN
    #38525301
kodermax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите построить запрос всё никак не получается
есть Две таблицы
1-я таблица - Компании
2-я таблицы - Статусы компании

Код: sql
1.
2.
3.
4.
ID NAME
1. Компания А
2. Компания Б
3. Компания С



Код: sql
1.
2.
3.
4.
5.
6.
ID COMPANY_ID STATUS
1  1 3500
2  1 3501
3  2 3502
4  2 3500
5  3 3501



Нужно например выбрать все компании, у которых статус есть 3500, но при этом нету 3501
...
Рейтинг: 0 / 0
Не могу разобраться с JOIN
    #38525306
когда речь заходит о "есть"/"не есть" всегда вспоминается англоязычный их аналог: exists/ not exists.
Вот и решай свою задачу с использованием этих самых exists/ not exists подзапросов.
А если уж очень охото JOIN-а, то нужно помнить, что любой exists/ not exists подзапрос легко переписывается через JOIN/LEFT JOIN
...
Рейтинг: 0 / 0
Не могу разобраться с JOIN
    #38525313
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе вместо подзапросов после обычного левого связывания можно использовать условие
Код: sql
1.
having sum(field in (include_list)) = include_amount and sum(field in (exclude_list)) = 0
...
Рейтинг: 0 / 0
Не могу разобраться с JOIN
    #38525366
kodermax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что такое ?
авторinclude_amount
...
Рейтинг: 0 / 0
Не могу разобраться с JOIN
    #38525373
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kodermax, количество значений, которые должны присутствовать. В вашем случае 1.
...
Рейтинг: 0 / 0
Не могу разобраться с JOIN
    #38525406
kodermax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Своял запрос

Код: sql
1.
2.
3.
4.
5.
6.
SELECT  `crm_company`.`TITLE` 
FROM  `b_crm_company`  `crm_company` 
INNER JOIN  `b_utm_crm_company`  `crm_company_status` 
ON (  `crm_company`.`ID` =  `crm_company_status`.`VALUE_ID` AND  `crm_company_status`.`FIELD_ID` =108 ) 
having sum(`crm_company_status`.`VALUE_INT` in (3508)) = 1 and sum(`crm_company_status`.`VALUE_INT`in (3534)) = 0
LIMIT 0 , 30



Похоже?
...
Рейтинг: 0 / 0
Не могу разобраться с JOIN
    #38525477
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kodermax,

похоже.
...
Рейтинг: 0 / 0
Не могу разобраться с JOIN
    #38525534
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kodermaxПохоже?
Не похоже ни разу. Групповые функции есть, а группировки нет.
...
Рейтинг: 0 / 0
Не могу разобраться с JOIN
    #38525537
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

ну хэвинг-то похож! :)
...
Рейтинг: 0 / 0
Не могу разобраться с JOIN
    #38525546
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, внешне похож. Но сработает неправильно, выведя ВСЕ строки с `crm_company_status`.`VALUE_INT` = 3508. А было бы два и более значений - ничего бы не вывел.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Не могу разобраться с JOIN
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]