Dataview - List books from everywhere

I use Obsidian to take notes from lessons. and I get a lot of recommended books or reads.
I would like to have a table with the next columns, listed from everywhere but without listing files that do not contain books, the front matter can contain any tag or no tags at all, but the recommended books would be in the next format
book:: Deal with VCs

The table could look like this: but without listing files without any books.

FILE | BOOK

Thanks in advance!

You might start with a query like the following:

```dataview
TABLE book
WHERE book
```

@Craig Thank you very much, that’s exactly what I needed.

Now, is it possible to add a little summary or a reason why the book got recommended? probably like

book:: Deal with VCs [summary:: Because it’s darn good]

and list that on the table TABLE book, book.summary
FILE | BOOK | SUMMARY

Thanks in advance!

In a way, yes, but first you need to decide how you’re going to structure your data.

The primary way Dataview understands your data is at the file level. When you use the metadata book:: title1, you are assigning a value to a field of the page you’re on called “book”. To Dataview it looks kind of like this:

Page.md → book: title1

When you add a second book:: title2, you’re adding a second value to the array called “book”:

Page.md → book: [title1, title2]

The most straightforward way for you to track book recommendations using Dataview would be for you to keep a set of notes for book recommendations, one per note, like this:

I suggest playing around with the above example a bit to get a feel for how Dataview works and see if this approach will meet your needs. If not, there are other, more complicated ways to track this kind of data.