Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 内部联接两个表时出现语法错误_Mysql - Fatal编程技术网

Mysql 内部联接两个表时出现语法错误

Mysql 内部联接两个表时出现语法错误,mysql,Mysql,我正在尝试加入表格、活动和场地,但是我在加入时遇到了一个问题。我就是这样做的: $query = "SELECT e.*, v.* FROM events e WHERE start_datetime >= '$DATE_START_SELECTED' AND end_datetime < '$DATE_END_SELECTED'". "INNER JOIN venues v ON e.VENUE_LOCATION = v.VENUE_ID"; $que

我正在尝试加入表格、活动和场地,但是我在加入时遇到了一个问题。我就是这样做的:

$query =    "SELECT e.*, v.* FROM events e WHERE start_datetime >= '$DATE_START_SELECTED' AND end_datetime < '$DATE_END_SELECTED'".
           "INNER JOIN venues v ON e.VENUE_LOCATION = v.VENUE_ID";
$query=“从事件e中选择e.*,v.*,其中start\u datetime>=“$DATE\u start\u SELECTED”和end\u datetime<'DATE\u end\u SELECTED'”。
“在e.VICENUE\U LOCATION=v.VICENUE\U ID上的内部连接场馆v”;
出于某种原因,我犯了这样一个错误:

$query =    "SELECT e.*, v.* FROM events e ".
        "INNER JOIN venues v ON e.VENUE_LOCATION = v.VENUE_ID".
        "WHERE start_datetime >= '$DATE_START_SELECTED' AND end_datetime < '$DATE_END_SELECTED'";
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近1号线“e.VICENUE\U位置上的内部连接场馆v=v.VICENUE\U ID”

知道为什么吗?谢谢


编辑:

我将代码更新为如下所示:

$query =    "SELECT e.*, v.* FROM events e ".
        "INNER JOIN venues v ON e.VENUE_LOCATION = v.VENUE_ID".
        "WHERE start_datetime >= '$DATE_START_SELECTED' AND end_datetime < '$DATE_END_SELECTED'";
$query=“从事件e中选择e.*,v.*”。
“在e.VENUE\u LOCATION=v.VENUE\u ID上的内部连接场馆v”。
“其中start_datetime>=”$DATE_start_SELECTED“和end_datetime<”$DATE_end_SELECTED“;
仅获取此错误:

您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 接近“开始日期时间>=”2012-03-15 06:00:00“和结束日期时间< “2012-03-16 05:59:00”在1号线


您的
内部联接
需要位于
WHERE
子句之前

例如:

选择e.*v*
从事件e
内部连接场馆v在e.场馆\位置=场馆\ ID
其中start\u datetime>=“$DATE\u start\u SELECTED”
和end_datetime<'DATE_end_SELECTED'

连接总是在
from
之后和
where
之前。因此,您的查询将更像以下内容:

SELECT e.*, v.* 
FROM events e 
    INNER JOIN venues v ON e.VENUE_LOCATION = v.VENUE_ID
WHERE start_datetime >= '$DATE_START_SELECTED' 
    AND end_datetime < '$DATE_END_SELECTED'
选择e.*和v.*
从事件e
内部连接场馆v在e.场馆\位置=场馆\ ID
其中start\u datetime>=“$DATE\u start\u SELECTED”
和end_datetime<'DATE_end_SELECTED'

在末尾写where子句(我还扩展了速记符号,如“FROM events e to FROM events AS e:

SELECT e.*, v.* FROM events AS e 
INNER JOIN venues AS v ON e.VENUE_LOCATION = v.VENUE_ID
WHERE e.start_datetime >= yourVar AND e.end_datetime < yourOtherVar;
从事件中选择e.*,v.*作为e
作为v在e上的内部连接场馆位置=v场馆ID
其中e.start_datetime>=yourVar和e.end_datetime
忘了提一下,我还将start_datetime和end_datetime限定为e.start_datetime和e.end_datetime,我假定它们在事件表中。这可以避免在使用同名字段连接表时产生混淆。re:您的更新-在
v.vention\u ID之后放置空格”
和之前的
哪里
Aaha…从现在起将知道。谢谢你RedFilter:)!