gpt4 book ai didi

sql - 将两个不同表中的 2 个值插入到一个表中

转载 作者:行者123 更新时间:2023-12-02 09:25:52 24 4
gpt4 key购买 nike

在插入第三个表时,我在从 2 个不同表插入 2 个值时遇到问题。

第一个表是:

  • author_id(PK)
  • 作者姓名
  • author_email

第二个表是:

  • category_id(PK)
  • 类别名称

第三个表是:

  • post_id
  • post_category
  • post_author
  • 帖子标题
  • 帖子内容
  • 发布日期

我想在将数据插入第三个表期间从第一个表获取author_name并从第二个表获取category_name

我有类似的东西,但它不起作用。

INSERT INTO posts (post_category, post_author, post_title, post_content) 
SELECT
category_name
FROM
categories
WHERE
category_name='python',
SELECT
author_name
FROM
authors
WHERE
author_name = 'm0jito',
'Lorem Ipsum',
'Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ')

期待您的帮助。

最佳答案

除了@sagi的解决方案之外,您应该能够在INSERT VALUES中使用标量子查询:

INSERT INTO posts (post_category, post_author, post_title, post_content) 
VALUES
(
(SELECT
category_name
FROM
categories
WHERE
category_name='python'),
(SELECT
author_name
FROM
authors
WHERE
author_name = 'm0jito'),
'Lorem Ipsum',
'Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum '
)

如果 category_nameauthor_name 不唯一,此操作将会失败。

顺便说一句,您可能想要返回类别/作者id而不是名称,因为根本不需要当前的 SELECT。但我认为这只是一个例子。

关于sql - 将两个不同表中的 2 个值插入到一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38168732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com