Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Android
245 / 242 / 52
Регистрация: 19.01.2013
Сообщений: 1,896
Записей в блоге: 3

Sql lite join связь один ко многим

11.05.2017, 15:23. Показов 632. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть 2 таблицы.

например
таблица 1
Фио
ID

таблица 2 (много записей для одного человека)
taskId
userId



достаю из БД используя JOIN (если бы в таблице 2 была токо одна запись для человека то все нормально, а кк быть когда там много записей?


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
String query = "SELECT * FROM " + TASK_TABLE_NAME + " a INNER JOIN " +OBJECT_OBSLUGIVANIYA_TABLE_NAME +" b ON a."+TASK_OBJECT_OBSLUGIVANIYA_ID+"=b."
                +OBJECT_OBSLUGIVANIYA_ID+" WHERE a."+TASK_ASSIGNED_EMPLOYEE_ID +"=? AND b."+OBJECT_OBSLUGIVANIYA_PREM_TYPE +" LIKE ?";
        Cursor c = db.rawQuery(query, new String[]{String.valueOf(assignedEmployeeId), "MNDM%"});
        List<Api.Task> tasks = new ArrayList<>();
        try {
            while (c.moveToNext()) {
                List  <Api.Object> arrayList = new ArrayList<>();
 
                arrayList.add(в курсоре на данной позиции должно быть несколько записей из таблицы b);
 
                Api.Task task = new Api.Task(c.getLong(c.getColumnIndex(TASK_ID)),
                        c.getInt(c.getColumnIndex(TASK_GROUP_TASK)),
                        arrayList);
 
                tasks.add(task);
            }

Можно это выполнить JOIN`ом или отдельный запрос на получение данных из талицы b?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.05.2017, 15:23
Ответы с готовыми решениями:

Sqlite3, связь один ко многим, как ускорить выборку по ключу или правильно написать select. join
вот так создается таблица: sqlite3_exec(db, &quot;CREATE TABLE IF NOT EXISTS lib (id INT PRIMARY KEY NOT NULL, lid INT, name CHAR, path...

Entity Framework 6. Code First. Связь один-ко-многим и многие-ко-многим одновременно
Здрасти. Есть таблица юзеров и объявлений. У юзера может быть множество объявлений. Здесь действует связь один-ко-многим. Но юзер также...

LEFT JOIN один ко многим
Добрый день, 2 таблицы: table1 -id -name tbale2 -id -id_table1 -name

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.05.2017, 15:23
Помогаю со студенческими работами здесь

Устанавливается связь один-к-одному вместо один-ко-многим
Здравствуйте, скажите пожалуйста почему между данными таблицами устанавливается связь один-к-одному вместо один-ко-многим, в таблице...

Связь БД один к многим
Как осуществить такую связь. Есть Таблицыа User где хранится id пользователя и name. А вторая Message содержит в поле toid - набор ИД...

Связь один - к многим
Добрый день. Есть две таблицы, связанные между собой 1:М. Я делал выборки с помощью JOIN но строка из первой таблицы повторяется столько...

Связь один ко многим
В базе две таблицы связаны 1:мн. Пытаюсь добавить данные во вторую таблицу, возникает исключение. private void...

Связь один ко многим
Помогите пожалуйста. Проблема со связью &quot;Один ко многим&quot;. Мне нужно чтобы связь была такой: а у меня получается такая:


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru