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:)!