MySQL - помогите отредактировать MySQL-запрос
Есть запрос

SELECT DISTINCT
journal.id as id, cfg_opcode.note as opcode, journal.date,
CASE journal.shop_id
WHEN shop.id THEN shop.name
WHEN NULL THEN 'abrakadabra'
WHEN 'all' THEN 'all'
WHEN 'none' THEN 'none'
ELSE NULL
END AS shopname, agents.name as agentname, users.name as username, journal.sum, journal.note, journal.act, logs.flag as flag, logs.timestamp as ts
FROM
cfg_opcode, agents, users, logs, journal, shop
WHERE
journal.opcode = cfg_opcode.id AND journal.agentid = agents.id AND
journal.log_id = logs.id AND logs.userid = users.id

он собираем 6 таблиц в одну

На выходе таблица

ВОПРОС: как мне сгруппировать строки таким образом, что бы отсеять значения NULL и оставить только значения которые не NULL?
Не могу найти никак ответ на этот вопрос.

Спасибо

  • where [имя поля] is not null
  • добавить в where еще один and, чтоб неравно null было нужное поле
  • а у тебя shop ни с чем не связывается в условии :)
    можно в условие добавить
    and journal.shop_id = shop.shop_id
    and journal.shop_id <> null

    хотя связывать лучше через join, там и отсеять можно будет без case :)
    и возможно case не будет работать, т. к. если условие по shop_id, это вероятно это числовое поле, а ты в case еще ставишь условия по 'all' и 'none', т. е. число и текст, что уже неверно) )

    если описание структуры таблиц приведешь, я скажу, как правильно сделать запрос :)

  • Для Null нет равно-не равно. Только is not null.

Вас заинтересует