запрашивая одну и ту же таблицу дважды - PullRequest
0 голосов
/ 11 декабря 2010

У меня есть две таблицы. Одним из них является stock_by_month, который хранит записи о bookId, stockvalue и reportId. Второй стол - книга; который хранит записи о BookId, BookTitle и bookprice. Идентификатор reportId уникален для каждого месяца, поэтому октябрь 2010 г. - 1, 2010 г. ноябрь - 2, а декабрь 2010 г. - 3

Задача состоит в том, чтобы создать отчет, который будет включать детали книги, а также указывать стоимость акций текущего месяца (отчет 3) и предыдущего месяца (идентификатор отчета 2).

Я новичок в такого рода сложности. Я не уверен, возможно ли это. если это так, я буду очень благодарен за любую помощь. Спасибо

Ответы [ 2 ]

0 голосов
/ 11 декабря 2010

Вы должны объединить две таблицы, чтобы получить всю информацию, а затем сгруппировать по отчету. Ниже приведен некоторый SQL, с которого можно начать, но обязательно прочитайте о соединениях, как предложил Кэмерон, а также о 'group by'

SELECT      m.bookId, m.stockvalue, m.reportId, b.BookId, b.BookTitle, SUM(b.bookprice) AS total
FROM        stock_by_month m
JOIN        book b 
    ON  b.PRIMARY_KEY = m.FOREIGN_KEY
GROUP BY    m.reportId, m.bookId, m.stockvalue, b.BookId, b.BookTitle, b.bookprice
ORDER BY    m.reportId DESC
0 голосов
/ 11 декабря 2010

Похоже, вы хотите использовать присоединиться .Существует множество учебных пособий по SQL, так что читайте объединения, и вы должны увидеть, как вы можете реализовать свой отчет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...