![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 19.11.2010
Сообщений: 21
|
![]()
Работа ведется с MySQL
Есть 3 таблицы Абоненты и их тарифы - Callerlist с полями CallerID AutoInc CallerFIO ФИО (обязательное поле) CallerTarPhID Тариф телефона (обязательное поле) CallerTarIntID Тариф интернета (НЕобязательное поле) по умолчанию хранится NULL Заполнение 1 Иванов ИИ 1 1 2 Сидоров СС 2 2 3 Петров ПП 3 NULL Тарифы телефона - TPList TPID AutoInc TPName Название (обязательное поле) Заполнение 1 Повременный 2 Социальный 3 Безлимитный Тарифы интернета - TIList TIID AutoInc TIName Название (обязательное поле) Заполнение 1 Безлимитный 2 Планета Сделать запрос так, чтобы вывел Иванов ИИ Повременный Безлимитный Сидоров СС Социальный Планета Петров ПП Безлимитный (пустое поле) Вся проблема с когда CallerTarIntID=NULL SELECT CallerFIO, TPName, TIName FROM callerlist, tplist, tilist WHERE CallerTarPh = TPID AND (CallerTarInt = NULL OR CallerTarInt = TIID) Не выводит, когда у человека нет интернета. Выводит только тех у кого есть, а мне надо всех. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
ЗАПОМНИТЕ. НА БУДУЩЕЕ.
Понять это НЕЛЬЗЯ. Это надо ТОЛЬКО ЗАПОМНИТЬ! Значение NULL НЕ РАВНЯЕТСЯ значению NULL и, одновременно, оно НЕ НЕ РАВНЯЕТСЯ! т.е. если есть строчка где в поле CallerTarInt стоит NULL - то и запрос select * from callerlist CallerTarInt = NULL не вернёт эту запись, ни запрос select * from callerlist CallerTarInt <> NULL не вернёт! ЕДИНСТВЕННЫЙ правильный способ выбрать запись с NULL это: Код:
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 19.11.2010
Сообщений: 21
|
![]()
Я начинающий. Помогите финальный запрос, чтоб вывел когда выводит и с Null и не с Null
как в результате должно получится. |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 19.11.2010
Сообщений: 21
|
![]()
Функция COALESCE() как я понял объединяет столбцы. А мне нужно объединть строки с Null и без него - то есть в столбце ТарифИнтернетаНазвание
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 02.04.2011
Сообщений: 48
|
![]()
Не знаю как мускуль, а на других бд такой вариант прокатывал
Код:
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 19.11.2010
Сообщений: 21
|
![]()
Не идет, ругается на синтаксис
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
вот, попробуйте
вариант 1 Код:
Код:
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 19.11.2010
Сообщений: 21
|
![]()
Да, спасибо большое!
Разобрался. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
NULL в sql-запросах | _SERGEYX_ | БД в Delphi | 5 | 27.10.2010 18:16 |
запрос с is null | Ks2010 | БД в Delphi | 14 | 22.07.2010 21:50 |
Картинка и текст в одном поле таблицы | _SERGEYX_ | БД в Delphi | 0 | 23.01.2010 16:19 |
Выводит ошибку "Unclarified identifier", хотя недавно запускалась в другой программе | Alex Cones | Общие вопросы Delphi | 2 | 20.04.2009 21:31 |
если поле Patr пусто или null то пустую строку возвращает | azat | БД в Delphi | 5 | 01.02.2008 13:05 |