|
Проблема с NULL
|
|||
---|---|---|---|
#18+
Есть вот такой запрос: SELECT u.id, 0, u.is_blocked, u.is_good, if(fd1.ch_data!=1000000000, h1.a_data, fd1.a_data) , fd1.format FROM site_objects as uo, users as u, helper_items as h1, form_data as fd1, site_objects as o1 WHERE uo.id=u.id and (uo.state&1)=1 and ((h1.id=fd1.ch_data) or (fd1.ch_data=1000000000)) and fd1.fitem_id=? and fd1.user_id=u.id and fd1.id=o1.id and (o1.state&1)=1 GROUP by u.id ORDER by u.id проблема - если в поле fd1.a_data - NULL - то результата по такому u.id для конкретного fd1.fitem_id нет вообще, если же там скажем пустая строка - то всё нормально - данные есть. почему? чего-то не хватает? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2002, 12:30 |
|
Проблема с NULL
|
|||
---|---|---|---|
#18+
Тяжко вникать в такой запрос! Но похоже надо делать проверку ISNULL(fd1.a_data) или воспользоваться LEFT JOIN. Какая задача изначально стоит?! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2002, 13:37 |
|
Проблема с NULL
|
|||
---|---|---|---|
#18+
согласен что тяжко... если подробнее то суть в следующем - есть форма в которой могут быть поля необязательного заполнения, чтобы отличить 0 как ввод данных от пустого поля - решено было задействовать значение NULL (0$ может например быть стоимость чего нить- софта например) данные из формы записываются в form_data в зависимости от типа данных в конкретном примерре речь о строке - a_data. само это значение нужно только вывести, в условиях оно как видно из запроса не присутствует.... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2002, 14:05 |
|
Проблема с NULL
|
|||
---|---|---|---|
#18+
....так вот при запросе когда опрашиваем каждое поле формы выбирая что ввели пользователи - т.е. выборка идёт по каждому полю формы а не всё сразу - в этом случае запрос просто огромный и машина на форме из 5 полей и 3 заполненых формах уже не справляется - MySQL виснет и тянет за собой всю машину.... и если в пользователь не ввёл значение как я уже писал запрос ни чего не возвращает по данному полю формы для данной компании - т.е. из трёх пользователей выдаются только два ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2002, 14:30 |
|
|
start [/forum/topic.php?fid=47&msg=32075579&tid=1856237]: |
0ms |
get settings: |
10ms |
get forum list: |
35ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
163ms |
get topic data: |
14ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 250ms |
total: | 530ms |
0 / 0 |