所以我有一個表(t1)有消息和thread_id。每個線程ID對應於一個對話。我對消息中的術語運行查詢,現在我想根據消息查詢的結果重新查詢t1。我不能做一個嵌套的,因爲最終的結果應該是從原來的t1。重述:我希望所有包含特定單詞的對話。這是在postgresql 9.1中。基於嵌套查詢結果的查詢表
0
A
回答
1
這與Common Table Experssions工作,這可以從8.4及以上版本:
create table test_table1 (id serial, val1 integer, val2 text);
insert into test_table1 (val1, val2)
select
v, 'test data ' || v
from generate_series(1,10000);
WITH
t1 (id, val1, val2)
as (
select
id, val1, val2
from test_table1
order by id asc
limit 1000
)
,t1_condition (id, condition)
as (
select
id, val1 % 5 = 0
from t1
where val1 % 3 = 0
)
select
t1.id, t1.val1, t1.val2,
t1_condition.condition
from t1
left join t1_condition
on t1.id = t1_condition.id
+0
CTE是正確答案(+1),但是't1_condition.condition '在這個例子中沒有太大意義 - 根據定義,它總是「TRUE」。 –
+0
@ErwinBrandstetter你是對的。我編輯刪除where子句中的%5 = 0。但是,我確實希望示例中的子查詢不要僅返回完整的原始表,因爲否則,您可以在原始選擇中執行條件測試。 –
相關問題
- 1. 嵌套的SQL查詢結果列表
- 2. 嵌套查詢(基於同一張表)
- 3. SQL:基於列的值嵌套查詢
- 4. 基於主要查詢的嵌套查詢選擇
- 5. 在基於查詢的elasticsearch查詢中篩選嵌套對象
- 6. 查詢嵌套表
- 7. TSQL嵌套基本查詢
- 8. Elasticsearch查詢嵌套對象無結果
- 9. JS sequelize嵌套查詢/遍歷結果
- 10. cx_Oracle查詢結果嵌套字典
- 11. 刪除嵌套查詢結果問題
- 12. 查詢結果與嵌套頂點
- 13. 在LINQ(或子查詢)中嵌套查詢結果
- 14. 商店查詢結果或使用嵌套查詢
- 15. SQL - 嵌套查詢查詢
- 16. MySQL查詢嵌套查詢
- 17. mongodb查詢嵌套結構
- 18. VBA嵌套,如果查詢
- 19. MySQL的刪除基於查詢結果
- 20. 基於組的查詢結果
- 21. 基於優先級的查詢結果
- 22. 基於第二查詢結果標記行的SQL查詢
- 23. 基於初始查詢結果的Elasticsearch查詢
- 24. 基於先前查詢陣列上的MySQL PHP查詢結果
- 25. 嵌套查詢
- 26. 嵌套查詢
- 27. 篩選基於另一個查詢結果的結果LINQ查詢
- 28. 基於查詢獲得分面結果
- 29. SQL查詢基於結果更新
- 30. 基於第一查詢結果
什麼版本的Postgres您使用的是? –
沒有看到你的疑問,很難說出你的想法。也許你應該看看[Common table expressions](http://www.postgresql.org/docs/8.4/static/queries-with.html) –