join - 串联 - 名字和姓氏相同的列 (Oracle SQL)

标签 join count concatenation

对 Oracle SQL 完全陌生,话虽这么说:

尝试在与“作者”相同的列中显示作者的名字和姓氏以及该作者所写的书籍数量(结果按作者名字升序排列)。

SELECT AUTHOR.FNAME || ' ' || AUTHOR.LNAME AS "Author",
COUNT(BOOKAUTHOR.AUTHORID) AS "Books written"
FROM BOOKS
INNER JOIN BOOKAUTHOR ON BOOKS.ISBN = BOOKAUTHOR.ISBN
INNER JOIN AUTHOR ON BOOKAUTHOR.AuthorID = AUTHOR.AuthorID
ORDER BY AUTHOR.FNAME ASC

串联似乎不起作用,整个查询有问题。

以下是相关的表格:

书籍:ISBN、TITLE

作者:AUTHORID、LNAME、FNAME

BookAuthor: ISBN, AUTHORID

即使我尝试仅使用 SELECT 和 FROM 进行简单的连接,它也不会显示任何结果。

例如:

SELECT FNAME || ' ' || LNAME "AUTHOR NAME"
FROM AUTHOR

最佳答案

试试这个:

SELECT CONCAT(CONCAT(AUTHOR.FNAME, ' '),
      AUTHOR.LNAME) AS "AUTHOR" 
COUNT(BOOKAUTHOR.AUTHORID) AS "Books written"
FROM BOOKS
INNER JOIN BOOKAUTHOR ON BOOKS.ISBN = BOOKAUTHOR.ISBN
INNER JOIN AUTHOR ON BOOKAUTHOR.AuthorID = AUTHOR.AuthorID
ORDER BY AUTHOR.FNAME ASC

关于join - 串联 - 名字和姓氏相同的列 (Oracle SQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35387363/

相关文章:

file - 如何使用 CMake 将多个文件列表合并在一起?

PHP 字符串连接 - "$a $b"与 $a 。 ""。 $b - 性能

MySQL 按 ID 连接 2 个表

MySQL select join many to many tables 加上 IN 和 NOT IN

mysql - 按同一分组计算 2 列

mysql - 仅计算两个不同列中的空值并显示在一个选择语句中

Php, MySql 连接3张表,并计算SUM

MySQL JOIN ON 子查询?

两条 COUNT 语句的 MySQL 总和

css - Grunt CSS 导入和路径