【问题标题】:How to replace the column value with value from other connected table如何用其他连接表中的值替换列值
【发布时间】:2022-09-23 01:43:04
【问题描述】:

下面的代码是我对 postgresql 模式视图的查询代码。

请假设这是一个图书馆表,这是一个图书列表,您可以在图书本身上应用一些定义的标签,并且每本书都将分为一个类别。

CREATE VIEW tagging_books AS
SELECT tags.\"TagName\", books.\"BookISBN\", books.\"BookName\", books.\"BookCategoryID\"
FROM library
    INNER JOIN tags on library.\"TagName_id\" = tags.\"id\"
    INNER JOIN books on library.\"BookISBN_id\" = books.\"id\"
    ORDER BY tags.\"id\"

db 中的模式视图将如下所示:

/tags.TagName   /books.BookISBN      /books.BookName    /books.BookCategoryID
Python          ISBN 957-208-570-0   Learn Python       1

而表 \"books\" 中的 BookCategoryID 实际上是表 \"category\" 的外键,该表如下所示:

/category
BookCategoryID   CategoryName
1                Toolbook

我想知道,有没有办法通过查询代码替换书籍。\“BookCategoryID\”字段到类别。\“CategoryName\”?就像下面的例子。

/tags.TagName   /books.BookISBN      /books.BookName    /category.CategoryName
Python          ISBN 957-208-570-0   Learn Python       Toolbook

由于它们是相互连接的,我认为它们肯定可以被替换,但我不知道该怎么做......谢谢。

    标签: sql postgresql


    【解决方案1】:
    select category.name, books.*
    from books
    join category on books.BookCategoryID = category.BookCategoryID
    

    【讨论】:

      猜你喜欢
      • 2019-10-11
      • 2016-02-20
      • 1970-01-01
      • 1970-01-01
      • 2022-06-10
      • 2018-02-18
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多