Sql 内部连接临时表

Sql 内部连接临时表,sql,postgresql,Sql,Postgresql,尝试将公用表表达式与标准表联接,但失败 你们能告诉我为什么吗 也许您想要smth,比如: WITH temp(k) AS (VALUES (15252332445), (15253665080), (15241848778), (11813086136), (15253665080) ) LEFT join hello.transaction_job B on B.id=temp.k SELECT * FROM temp,B.id,B.msisdn SELECT必须位于连接之前,就像每个连

尝试将公用表表达式与标准表联接,但失败

你们能告诉我为什么吗


也许您想要smth,比如:

WITH  temp(k)  AS (VALUES (15252332445), (15253665080), (15241848778),
(11813086136), (15253665080) ) LEFT join hello.transaction_job B on
B.id=temp.k SELECT * FROM temp,B.id,B.msisdn

SELECT
必须位于连接之前,就像每个连接一样

WITH  temp(k)  AS (VALUES (15252332445), (15253665080), (15241848778),
(11813086136), (15253665080) ) 
, b as (select * from temp LEFT join hello.transaction_job B on
B.id=temp.k)
SELECT * FROM temp,B.id,B.msisdn

您还可以在cte中使用
union
进行写入

WITH  temp(k)  AS (
   VALUES (15252332445), (15253665080), (15241848778),
          (11813086136), (15253665080)
)
SELECT B.id, B.msisdn
FROM temp t
  LEFT join hello.transaction_job B on  B.id = t.k; 

您将告诉我们错误:-)请阅读,接受的答案采取较小的步骤。做一个小查询,然后一部分接一部分地添加。正确设置查询格式也将有助于理解结构。我只是建议一种替代方法,仅此而已+对你来说,这已经是一个很好的可行答案了
WITH TEMP (k)
AS (
    SELECT 15252332445

    UNION ALL

    SELECT 15253665080

    UNION ALL

    SELECT 15241848778

    UNION ALL

    SELECT 11813086136

    UNION ALL

    SELECT 15253665080
    )
SELECT B.id, B.msisdn
FROM TEMP t
LEFT JOIN hello.transaction_job B ON B.id = t.k