这三个语句如何写成一个语句,中间不用create table

这三个语句怎么写成一个语句,中间不用create table
CREATE TABLE a 
SELECT 
  yhbh,
  pk_corp 
FROM
  cr_demandplan 
WHERE RecAS3 = '通过' 
GROUP BY CONCAT(yhbh, pk_corp) ;

CREATE TABLE b 
SELECT 
  ywy,
  yhrq,
  yhbh,
  pk_cory,
  sl,
  spdm,
  spmc,
  scgg,
  bzgg 
FROM
  cr_demandplan 
WHERE RecDR = 0 

CREATE TABLE b 
SELECT 
  ywy,
  yhrq,
  b.pk_corp,
  sl,
  spdm,
  spmc,
  scgg,
  bzgg 
FROM
  b 
  INNER JOIN a 
    ON CONCAT(b.yhbh, b.pk_corp) = CONCAT(a.yhbh, ba.pk_corp)


------解决思路----------------------
这个没办法弄。
你是不是想用CTE?
那就试试with。
------解决思路----------------------
用嵌套临时表,用完就自动删了,不占用物理内存。

SELECT 
  ywy,
  yhrq,
  b.pk_corp,
  sl,
  spdm,
  spmc,
  scgg,
  bzgg 
FROM
(
SELECT 
  yhbh,
  pk_corp 
FROM
  cr_demandplan 
WHERE RecAS3 = '通过' 
GROUP BY CONCAT(yhbh, pk_corp)
) AS A 
INNER JOIN 
(
SELECT 
  ywy,
  yhrq,
  yhbh,
  pk_cory,
  sl,
  spdm,
  spmc,
  scgg,
  bzgg 
FROM
  cr_demandplan 
WHERE RecDR = 0 
) AS B
ON CONCAT(b.yhbh, b.pk_corp) = CONCAT(a.yhbh, a.pk_corp)
    


------解决思路----------------------

;WITH a AS(
SELECT 
  yhbh,
  pk_corp 
FROM
  cr_demandplan 
WHERE RecAS3 = '通过' 
GROUP BY CONCAT(yhbh, pk_corp)
), 
b AS (
SELECT 
  ywy,
  yhrq,
  yhbh,
  pk_cory,
  sl,
  spdm,
  spmc,
  scgg,
  bzgg 
FROM
  cr_demandplan 
WHERE RecDR = 0 
)
SELECT 
  ywy,
  yhrq,
  b.pk_corp,
  sl,
  spdm,
  spmc,
  scgg,
  bzgg 
FROM
  b 
INNER JOIN a ON CONCAT(b.yhbh, b.pk_corp) = CONCAT(a.yhbh, ba.pk_corp)