Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Не работает условие (точнее половина)
Форумы портала PHP.SU » » Работа с СУБД » Не работает условие (точнее половина)

Страниц (1): [1]
 

1. Okolot - 04 Апреля, 2015 - 10:07:29 - перейти к сообщению
Пишу вот такой запрос

CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT
  3. g.id,
  4. g.name,
  5. g.func9,
  6. p.func,
  7. IF(g.func9 = 90, gv.id, p.id) AS id_product
  8. FROM groups AS g
  9. LEFT OUTER JOIN products AS p ON g.id = p.id_group
  10. LEFT OUTER JOIN groups_virt AS gv ON g.id = gv.id_group
  11. WHERE g.id=2000999999 AND p.func <> 9
  12. ORDER BY g.name
  13.  


IF выполняется только при g.func9 <> 90 (условие (=/<>) местами менял), но если удалить p.func <> 9 то IF работает в любом случае...
2. Okolot - 07 Апреля, 2015 - 16:57:54 - перейти к сообщению
Вобщем проблема решилась разбиением запроса на два...

CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. (SELECT DISTINCT
  3. p.id AS id_product
  4. FROM groups g
  5. INNER JOIN products p ON g.id = p.id_group
  6. WHERE {$filter_query} AND p.func <> 9
  7. ORDER BY {$orderby}
  8. )
  9. UNION
  10. (SELECT DISTINCT
  11. groups_virt.id AS id_product
  12. FROM groups_virt
  13. INNER JOIN groups g ON groups_virt.id_group = g.id
  14. WHERE {$filter_query_1})
  15.  


Теперь не работает сортировка. Если кто-то сталкивался с таким случаем, отпишитесь плизз.
3. Faraon-san - 07 Апреля, 2015 - 18:45:53 - перейти к сообщению
ты забыл указать в какой таблице сортировать
4. Okolot - 08 Апреля, 2015 - 09:16:22 - перейти к сообщению
Faraon-san Сорри, в переменную
передается порядок сортировки, как вариант
CODE (SQL):
скопировать код в буфер обмена
  1. p.avail, p.name
или
CODE (SQL):
скопировать код в буфер обмена
  1. p.price, p.name
etc.

 

Powered by ExBB FM 1.0 RC1