也許我正在接近這一切錯誤,在這種情況下可以隨意指出一個更好的方法來解決整個問題,其中「我如何使用中間表進行未來查詢?」SQL隨着表變得模糊
比方說,我有表foo
和bar
,其中加入了一些baz_id
,我想使用組合成一箇中間表這個被送入即將到來的查詢。我知道WITH .. AS (...)
說法,但我遇到了問題,例如:
WITH foobar AS (
SELECT *
FROM foo
INNER JOIN bar ON bar.baz_id = foo.baz_id
)
SELECT
baz_id
-- some other things as well
FROM
foobar
的問題是,(Postgres的9.4)告訴我baz_id is ambiguous
。我知道這是因爲SELECT *
包括兩個表中的所有列,所以baz_id
顯示兩次;但我不確定如何解決它。我希望避免單獨複製列名,例如
SELECT
foo.var1, foo.var2, foo.var3, ...
bar.other1, bar.other2, bar.other3, ...
FROM foo INNER JOIN bar ...
因爲這些表中有數百列。
有沒有解決這個問題的方法我錯過了,或者有一些完全不同的方法來解決手頭的問題?
完美的,正是我所需要的,也欣賞doc-quote! – dwanderson