Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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到Microsoft SQL Server派生表语法_Mysql_Sql_Sql Server - Fatal编程技术网

MySQL到Microsoft SQL Server派生表语法

MySQL到Microsoft SQL Server派生表语法,mysql,sql,sql-server,Mysql,Sql,Sql Server,我试图从from语句中创建的派生表中选择数据。 我在MySQL中有以下代码: SELECT TEMP.State, TEMP.Name FROM (SELECT DISTINCT STATE.State, PRODUCT.Name, PRODUCT.Price FROM STATE JOIN PRODUCT) AS TEMP 我正试图在Microsoft SQL Server中执行相同的操作,但这不起作用,错误是“语法不正确”。我试过几种不同的组合,我

我试图从from语句中创建的派生表中选择数据。 我在MySQL中有以下代码:

SELECT  TEMP.State, TEMP.Name

FROM    (SELECT DISTINCT STATE.State, PRODUCT.Name, PRODUCT.Price
        FROM STATE
        JOIN PRODUCT) AS TEMP
我正试图在Microsoft SQL Server中执行相同的操作,但这不起作用,错误是“语法不正确”。我试过几种不同的组合,我能找到的任何东西都表明这应该有效。
感谢大家的帮助

您当前的MySQL子查询似乎是一个交叉连接,因为它是一个没有任何ON子句的内部连接。SQL Server不支持此语法,如果确实要在此处使用交叉联接,请使用:

SELECT
    TEMP.State,
    TEMP.Name
FROM
(
    SELECT DISTINCT STATE.State, PRODUCT.Name, PRODUCT.Price
    FROM STATE
    CROSS JOIN PRODUCT
) AS TEMP;
话虽如此,我认为没有理由对这两个数据库进行子查询,只需使用:

SELECT DISTINCT s.State, p.Name
FROM STATE s
CROSS JOIN PRODUCT p;

在SQL Server中,当您加入时,需要加入某些内容。缺少加入条件