powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос к БД
7 сообщений из 7, страница 1 из 1
Помогите составить запрос к БД
    #39664415
user999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Есть 2 таблицы.
Первая devices
id idshelf
32 1
33 2
34 3
35 4

Вторая projects
id idshelf finished data
1 1,2,4 1 10
2 3 1 11
3 1,2,4 0 12

Как составить запрос, что бы в результат попали все значания из таблицы devices и только те значения из таблице projects, в которых есть вхождения в idshelf из devices.idshelf и которые не завершены
Должно получиться так:
devices.id projects.data
32 12
33 12
34 NULL
35 12
...
Рейтинг: 0 / 0
Помогите составить запрос к БД
    #39664434
user999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаю такой запрос
Код: sql
1.
2.
3.
4.
SELECT devices.id as did, projects.id  as pid, projects.data FROM `devices`, `projects`
WHERE 	devices.idshelf 	IN (projects.idshelf) 
AND 	devices.id 			IN (32,33,34,35)
AND 	projects.finished 	= 0


Результат
Код: html
1.
MySQL вернула пустой результат (т.е. ноль строк). (Запрос занял 0.0021 сек.)
...
Рейтинг: 0 / 0
Помогите составить запрос к БД
    #39664476
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то так, наверно
Код: sql
1.
2.
3.
4.
5.
SELECT
    `devices`.`id`, `projects`.`data`
FROM  
    `devices`
    LEFT JOIN `projects` ON FIND_IN_SET(`devices`.`idshelf`, `projects`.`idshelf`) AND `projects`.`finished` = 0
...
Рейтинг: 0 / 0
Помогите составить запрос к БД
    #39664478
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предполага, конечно, что `projects`.`idshelf`, судя по цифоркам через запятую, есть строка.
...
Рейтинг: 0 / 0
Помогите составить запрос к БД
    #39664484
user999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,
Так и есть. Поэтому IN
...
Рейтинг: 0 / 0
Помогите составить запрос к БД
    #39664488
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
MariaDB [(none)]> SELECT 2 IN(1,2,3);
+-------------+
| 2 IN(1,2,3) |
+-------------+
|           1 |
+-------------+
1 row in set (0.00 sec)

MariaDB [(none)]> SELECT 2 IN('1,2,3');
+---------------+
| 2 IN('1,2,3') |
+---------------+
|             0 |
+---------------+
1 row in set, 1 warning (0.00 sec)

MariaDB [(none)]> SELECT FIND_IN_SET(2,'1,2,3');
+------------------------+
| FIND_IN_SET(2,'1,2,3') |
+------------------------+
|                      2 |
+------------------------+
1 row in set (0.00 sec)
...
Рейтинг: 0 / 0
Помогите составить запрос к БД
    #39667610
user999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,
Спасибо, все получилось
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос к БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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