Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2019, 12:15   #1
Shadowfirst
Пользователь
 
Регистрация: 13.09.2010
Сообщений: 13
По умолчанию Вопрос по QSLite и JOIN

Есть три таблицы:
1)
Код:
CREATE TABLE value (
    id INTEGER PRIMARY KEY NOT NULL,
    value             REAL     NOT NULL,
    sub_id INTEGER  NOT NULL REFERENCES sub (id_sub) );
2)
Код:
CREATE TABLE main (
    id_main              INTEGER       NOT NULL
                                       PRIMARY KEY ON CONFLICT FAIL,
    main_name VARCHAR (255) );
3)
Код:
CREATE TABLE sub (
    id_sub              INTEGER       NOT NULL,
    main_id  INTEGER       REFERENCES main (id_main) NOT NULL,
    sub_name VARCHAR (255) );
В таблице main есть данные:
0 DataMain1
1 DataMain2
2 DataMain3
3 DataMain4

В таблице sub данные:
0 0 DataSub1
1 0 DataSub2
2 1 DataSub3
3 0 DataSub4
4 1 DataSub5
5 1 DataSub6
6 0 DataSub7
7 0 DataSub8

В таблице value данные:
0 0 DataSub1
1 2 DataSub2
2 0 DataSub3
3 1 DataSub4
0 0 DataSub5
1 1 DataSub6
2 2 DataSub7
3 0 DataSub8

Так вот к чему это я?! Ага, делаю запрос на получение суммы в value что бы присоединить к таблице main. Хочется получить следующий результат:

DataMain1 сумма с value для ключей из sub
DataMain2 сумма с value для ключей из sub
DataMain3 NULL
DataMain4 NULL

А получается:
DataMain1 сумма с value для ключей из sub
DataMain2 сумма с value для ключей из sub
DataMain4 NULL

Использую для слияния LEFT JOIN с соответствующим условием и группировкой.
Но нужный результат достигается только тогда когда в LEFT JOIN стоит отдельный SELECT для суммы;

Вопрос: как получить нужный результат не используя SELECT в LEFT JOIN?
Shadowfirst вне форума Ответить с цитированием
Старый 02.03.2019, 12:49   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Какие-то странные данные в value, не соответствующие структуре. И запрос покажи
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 02.03.2019, 14:21   #3
Shadowfirst
Пользователь
 
Регистрация: 13.09.2010
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Какие-то странные данные в value, не соответствующие структуре. И запрос покажи
Спасибо за проявленную заинтересованность вопросом
Я уже разобрался, этот, что б его, GROUP BY из за него все, ну вернее из за моего не знания но все же. А насчет данных в value, copy/paste это все таки зло,там долнжы были быть числовые значения.
Shadowfirst вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
inner join/full join SashkaSonin БД в Delphi 6 23.03.2012 17:13
UNION JOIN tools SQL, базы данных 0 05.06.2010 18:20
LEFT JOIN acidcool SQL, базы данных 12 20.08.2009 19:23
join в sql tsergey Помощь студентам 1 12.02.2009 13:10
join wall66 SQL, базы данных 2 10.11.2008 16:44