diff --git a/SuperSQL/lib/parser.php b/SuperSQL/lib/parser.php index cc3bca6..0176964 100644 --- a/SuperSQL/lib/parser.php +++ b/SuperSQL/lib/parser.php @@ -161,12 +161,16 @@ static function table($table) if ($i !== 0) $sql .= ', '; $sql .= '`' . $val . '`'; - if ($t) + if ($alias) $sql .= ' AS `' . $alias . '`'; } return $sql; } else { - return '`' . $table . '`'; + $alias = self::getType($table); + $sql = '`' . $table . '`'; + if ($alias) + $sql .= ' AS `' . $alias . '`'; + return $sql; } } static function value($type, $value) @@ -360,7 +364,15 @@ static function JOIN($join, &$sql, &$values, &$i) break; } - $sql .= ' JOIN `' . $key . '` ON '; + $sql .= ' JOIN `' . $key . '` '; + + if(!$raw && count($val) == 1 && strpos(array_values($val)[0],'.') === false) { + $sql .= 'USING (`' . array_values($val)[0] . '`) '; + return; + } + + $sql .= 'ON '; + if ($raw) { $sql .= $val; } else {