powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / DEFAULT значение для JOIN если отсутствуют соответствующие строки
3 сообщений из 3, страница 1 из 1
DEFAULT значение для JOIN если отсутствуют соответствующие строки
    #38945461
alessfan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Есть такие данные:
Код: plsql
1.
2.
3.
4.
CREATE TABLE "models" (
"_id" INTEGER PRIMARY KEY  NOT NULL ,
"name" TEXT NOT NULL  DEFAULT (null) ,
"price" INTEGER NOT NULL )



Код: plsql
1.
2.
3.
4.
INSERT INTO "models" VALUES(1,'BMW',55000);
INSERT INTO "models" VALUES(2,'AUDI',62000);
INSERT INTO "models" VALUES(3,'OPEL',42000);
INSERT INTO "models" VALUES(4,'MERCEDES',72000);



Код: plsql
1.
2.
3.
4.
5.
CREATE TABLE "properties" (
"_id" INTEGER PRIMARY KEY  NOT NULL , 
"model_id" INTEGER NOT NULL , 
"quantity" INTEGER NOT NULL  DEFAULT 0, 
"year" INTEGER DEFAULT 0)



Код: plsql
1.
2.
INSERT INTO "properties" VALUES(1,2,5,2010);
INSERT INTO "properties" VALUES(2,4,9,2012);



Хочу получить такую сводную таблицу:

_idnamepricequantityyear1BMW55000002AUDI62000520103OPEL42000004MERCEDES7200092012

Если в таблице "properties" отсутствуют строки для соответствующей из "models" использовать для столбцов "quantity" и "year" значение по умолчанию - "0" .

Делаю так:
Код: plsql
1.
SELECT models._id, name, price, quantity, year FROM models JOIN properties ON models._id=model_id



Получаю:
_idnamepricequantityyear2AUDI62000520104MERCEDES7200092012

Прошу совета с default значениями. Спасибо!
...
Рейтинг: 0 / 0
DEFAULT значение для JOIN если отсутствуют соответствующие строки
    #38945468
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Left Join + NullIf
...
Рейтинг: 0 / 0
DEFAULT значение для JOIN если отсутствуют соответствующие строки
    #38945479
alessfan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VSVLADLeft Join + NullIf

VSVLAD , Спасибо за помощь! Вопрос решен.

Код: plsql
1.
SELECT models._id, name, price, IFNULL(quantity, 0) AS quantity, IFNULL(year, 0) AS year FROM models LEFT JOIN properties ON models._id=model_id
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / DEFAULT значение для JOIN если отсутствуют соответствующие строки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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