我正在尝试使用具有以下结构的SQL查询:
WITH
table1
AS (QUERY1)
, table2
AS (QUERY2)
, myCTE (COLUMNS OF THE CTE)
AS (CTE_QUERY)
SELECT * FROM myCTE),
,anotherCTE...
我在“myCTE”附近收到“不正确的语法错误”。“。
答案 0 :(得分:2)
错误很清楚。您有一个额外的func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize{
let cellW = (ScreenWidth - 10 - 10 - 30) / 4
return CGSize(width: cellW, height: cellW * 1.5 )
}
:
)
应该是
myCTE)
答案 1 :(得分:1)
正如你已经发现的,额外的)不应该在那里:
WITH
table1
AS (QUERY1)
, table2
AS (QUERY2)
, myCTE (COLUMNS OF THE CTE)
AS (CTE_QUERY)
SELECT * FROM myCTE
您报告的第二个错误是因为您在从上述CTE中选择后尝试执行另一个CTE。您不允许这样做,但是以SELECT
语句结束CTE。
如果您以某种方式需要AnotherCTE,您可以通过在SELECT
之前声明它来解决这个问题,如下所示:
WITH
table1
AS (QUERY1)
, table2
AS (QUERY2)
, myCTE (COLUMNS OF THE CTE)
AS (CTE_QUERY)
,anotherCTE...
SELECT * FROM myCTE
然而,这意味着你并不需要另外的CTE开始。如果确实需要它,只需将SELECT
语句向下移动到查询中的最终语句。
答案 2 :(得分:0)
您必须在;
声明
WITH
答案 3 :(得分:0)
还有额外的")"在SELECT * FROM myCTE
上 WITH
table1
AS (QUERY1)
, table2
AS (QUERY2)
, myCTE (COLUMNS OF THE CTE)
AS (CTE_QUERY)
SELECT * FROM myCTE),
,anotherCTE...