Прошу помочь. Есть две таблицы:
Первая табл: связь физических книг и эл.книг (IDB и IDEB - уникальные, т.е одной эл.книге соотв. - только одна физ.книга и наоборот); Вторая табл.(таблица комментариев): в поле ID хранятся все id как эл., так и физических. Собственно вопрос: как вытащить количество MARK (count) по заданному(input) массиву IDB(1,2,3,7), чтобы в результирующей таблице было следующее:
где count(MARK) это сумма МАRK IDEB + IDB (при условии если эта связь есть, при ее отсутствии брать только со 2 таблицы)
Если в 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
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
Сборка персонального компьютера от Artline: умный выбор для современных пользователей