SQL запрос (please help)

279
13 ноября 2017, 19:20

Прошу помочь. Есть две таблицы:

Первая табл: связь физических книг и эл.книг (IDB и IDEB - уникальные, т.е одной эл.книге соотв. - только одна физ.книга и наоборот); Вторая табл.(таблица комментариев): в поле ID хранятся все id как эл., так и физических. Собственно вопрос: как вытащить количество MARK (count) по заданному(input) массиву IDB(1,2,3,7), чтобы в результирующей таблице было следующее:

OOPCOMMENTS.ID, count(MARK)

где count(MARK) это сумма МАRK IDEB + IDB (при условии если эта связь есть, при ее отсутствии брать только со 2 таблицы)

Answer 1

Если в ebooks искать дополнения только по колонке IDB:

select id, sum(mark)
  from oopcomments
 where id in(1,3,7)
    OR id in( select ideb from ebooks4b where idb in(1,3,7) )
 group by id
Answer 2
SELECT t.ID ID, count(t.ID) MARK FROM (
    SELECT o.ID
    FROM OOPCOMMENTS o
    WHERE o.ID IN ( 1, 3, 7 )                                   
    UNION ALL
    SELECT EBOOKS4B.IDB
    FROM OOPCOMMENTS, EBOOKS4B
    WHERE EBOOKS4B.IDB IN ( 1, 3, 7  )
    AND OOPCOMMENTS.ID = EBOOKS4B.IDEB) as t
 group by t.ID
READ ALSO
Mysql выборка повторяющих значений

Mysql выборка повторяющих значений

Имеются поля примерно такого рода

263
Вывести количество покупок для клиента

Вывести количество покупок для клиента

Требуется вывести имена клиентов с соотвествующими кол-вами покупок каждогоТ

276
Как эмулировать запросы к Heroku через cURL PHP?

Как эмулировать запросы к Heroku через cURL PHP?

Есть android-приложение, которое посылает запросы к серверу Heroku:

392
Java. Получение родительского элемента

Java. Получение родительского элемента

Доброго времени суток! Столкнулся с проблемой в реализации определенной механики в игреИтак, у меня имеется класс,в котором я создаю поле...

328