我有未運行下面的查詢使用WITH子句:如何一起選擇與WHERE子句
with countf as (
select nationid, count(*) as c from customer
group by nationid
),
maxf as (select max(nationid) from customer)
select c.customerid, c.nationid from customer c, countf cf, maxf m
where c.nationid = cf.nationid
and cf.c = m
這個問題似乎是m
是一個記錄,而不是一個整數。但是,如果我將它作爲子查詢運行如下:
cf.c = (select max(nationid) from customer)
它按預期工作。我認爲我正在使用with語句而不是預期的方式。試圖
cf.c in maxf
讓我假設使用WITH
只是不應該在一個WHERE
子句中使用生成的表。
我知道還有其他方法可以使用all
來獲得相同的查詢。我真的只對我應該如何使用with語句感興趣。我以後只能使用它到SELECT
嗎?
在此先感謝您提供任何幫助。
另外,您正在使用的連接語法應該是hav e已經死亡。如果您使用顯式連接語法 – JohnHC
@JohnHC指出,那麼您可能會發現這個世界是一個更好的地方,感謝您的支持。我從來沒有真正使用SQL,但我更願意寫在考試紙上,所以我儘量保持簡單:) – lbrndnr