连接来自3个mysql表的数据(语法)

连接来自3个mysql表的数据(语法),mysql,sql,join,Mysql,Sql,Join,我试图从3个表中获取数据,连接2个不同的值。我已经习惯了甲骨文,并且在别名方面做了一些错误的事情。有人能帮我吗 SELECT r.idreservation, r.first, r.last, r.StartDay, r.NumberOfDays, g.First, g.Last, l.location FROM reservation r, guides g, Locations l WHERE r.guide = g.idguides AND r.location = l

我试图从3个表中获取数据,连接2个不同的值。我已经习惯了甲骨文,并且在别名方面做了一些错误的事情。有人能帮我吗

SELECT r.idreservation, r.first, r.last, r.StartDay, r.NumberOfDays, g.First, g.Last, l.location
  FROM reservation r, guides g, Locations l 
  WHERE r.guide = g.idguides 
    AND r.location = l.idlocations 
    AND r.StartDay >= dateString
我需要在日期字符串周围加单引号吗?r、 StartDay是日期类型

SELECT r.idreservation, r.first, 
 r.last, 
 r.StartDay, 
 r.NumberOfDays, 
 g.First, 
 g.Last, 
 l.location
 FROM reservation r, 
 guides g, 
 Locations l
 WHERE r.guide = g.idguides AND 
 r.location = l.idlocations AND 
 r.StartDay >= dateString


好的,我明白了:你可能只有一些“引用”问题:

作为捕获这些错误的提示,您应该在同一“行”上只有偶数个引号。可能您必须在双引号字符串中使用简单引号来分隔字符串


最后一条建议是,如果宿主程序语言允许这样做,那么多行字符串可能会像您所做的那样更易于阅读。此外,这将避免您在示例中遇到的“缺少空格”错误(请参见注释)。

乍一看,没有什么真正令人震惊的。这是怎么失败的?是否有一些错误消息(例如:“语法错误”),或者查询没有产生您所期望的结果?Oracle或MySQL?什么不起作用?你能正确设置查询格式吗?很难说是格式问题还是真正的问题,但我可以看到“l.location”和“FROM reservation r”之间没有空格。@a1ex07很好。“位置l”和“位置…”之间缺少相同的空格,因此很难正确格式化SQL请求。最后,你应该像我在编辑你的问题时所做的那样,试着将不同的子句按它们自己的行进行分组。要回答这个问题,你应该只加引号。单引号或双引号均可接受。您可能会选择其中一个,以避免与您在宿主语言中使用的引用样式发生冲突。您能突出显示与原始查询的差异吗?r.first、r.last等被视为程序中的变量
SELECT r.idreservation, r.first, 
 r.last, 
 r.StartDay, 
 r.NumberOfDays, 
 g.First, 
 g.Last, 
 l.location
 FROM reservation r 
 INNER JOIN  guides g
 ON r.guide = g.idguides
 INNER JOIN  Locations l
 ON r.location = l.idlocations
 WHERE r.StartDay >= dateString;
"SELECT r.idreservation, "r.first, "
                         ^   
+ "r.StartDay >= "+dateString"
                 ^