gpt4 book ai didi

mysql - 如何从多个表中获取详细信息?

转载 作者:行者123 更新时间:2023-11-29 00:42:10 25 4
gpt4 key购买 nike

在 MySql 数据库中有 AM_COURSE

cId      CourseName   course_desc
101 java sometext...
102 mysql sometext....
:

AM_USER 在那

 uid   name 
1001 Ram
1002 pavan

AM_INTER 在那

  id   uid     cid
1 1001 101
2 1001 102
3 1002 101

AM_TIMETABLE 中的表

UserId        Date_Time
101 2012-08-08 04:00:00
102 2012-08-15 10:00:00
103 2012-08-18 09:00:00
104 2012-08-24 05:00:00

我的问题是,我正在传递开始日期和结束日期以及 CourseName 然后我想以我编写查询的方式获取 userId、name、coursename、course_desc 等详细信息

    SELECT  a.cid,a.course_desc,c.name 
FROM
AM_COURSE a,AM_USER c INNER JOIN AM_TIMETABLE b ON a.S_ID = b.COURSE_ID WHERE
a.Name = 'java'
AND
b.Date_Time BETWEEN '2012-08-07 00:00:00' AND '2012-08-20 00:00:00'

但是我遇到了错误请帮忙

最佳答案

INNER JOIN 关键字在两个表中至少有一个匹配项时返回行。

MySQL INNER JOIN 子句

MySQL INNER JOIN 子句将一个表中的行与其他表中的行进行匹配,并允许您查询包含两个表中的列的行。

MySQL INNER JOIN 子句是 SELECT 语句的可选部分。它紧跟在 FROM 子句之后。

在使用 MySQL INNER JOIN 子句之前,您必须指定以下条件:

首先,您必须指定出现在 FROM 子句中的主表。其次,您需要指定要与主表连接的表,这些表出现在 INNER JOIN 子句中。理论上,您可以连接一个表和多个表。但是,为了获得更好的查询性能,您应该限制要连接的表的数量。第三,您需要指定连接条件或连接谓词。连接条件出现在 INNER JOIN 子句的关键字 ON 之后。连接条件是主表和其他表之间匹配行的规则。

示例

SELECT  c.cid, c.course_desc, user.name FROM AM_COURSE c
INNER JOIN AM_INTER inter on inter.cid = c.cid
INNER JOIN AM_USER user on user.uid = inter.uid
INNER JOIN AM_TIMETABLE tt ON inter.cid = tt.UserId
WHERE c.Name = 'coursename' AND tt.Date_Time BETWEEN '2011-08-12' AND '2012-08-12'

关于mysql - 如何从多个表中获取详细信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11829034/

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