对 2 个表的 mysql 查询与计数

标签 mysql sql

我有 2 个表。一个叫做 artist。这是表结构:

artistID lastname firstname nationality dateofbirth datedcease

另一个表叫做work

workId title copy medium description artist ID

列出在数据库中记录了多个副本的任何艺术作品(包括创作该作品的艺术家)的详细信息的 SQL 查询是什么?

最佳答案

试试这个:

SELECT 
  w.copy, w.title, w.description, w.medium, 
  a.firstname + ' ' + a.lastname AS 'Artist created the work'
FROM artists a
INNER JOIN
(
    SELECT * 
    FROM work 
    WHERE artistID IN
    ( 
        SELECT artistID
        FROM work 
        GROUP BY artistID
        HAVING COUNT(*) > 1 
    )
) w ON a.artistID = w.artistID

这是一个demo in SQL Fiddle

关于对 2 个表的 mysql 查询与计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12551130/

相关文章:

mysql - 插入日期时出错 - 日期值不正确 :

php - SQL:如何每天选择一条记录,假设每天包含超过 1 个值 MySQL

php - 如何在 Magento 中以编程方式添加个人送货地址?

mysql - 未知列 mysql where 子句 - 但我可以在我的应用程序中访问和设置它。是什么原因造成的?

mysql - 从非常大的 Mysql 数据库中获取 'text' 列字段的行

sql - 如何在 SQL 中使用集合?

php - 我是否可以创建一个 View 来显示一个月内表中的所有记录?

mysql - 使用 LEFT JOIN 返回不匹配的行

MySQL - 这个查询有什么问题?

python - 从 Django 管理 UI 调用 Python 脚本(在字段值更改时)