我正在开发一个项目,要求我在android数据库中进行一些查询。但是,我对数据库是全新的,我对如何处理这些场景感到有些困惑。这是一个粗略的例子来展示我的问题。
对于这样的表:
表A:
--------------------------------------------------------
| _id | name | mimetype | data1 | data2 | data3 |
--------------------------------------------------------
| 1 | user1 | mime1 | val1 | val2 | x |
--------------------------------------------------------
| 2 | user1 | mime2 | val3 | val4 | y |
--------------------------------------------------------
| 3 | user1 | mime3 | val8 | val5 | a |
--------------------------------------------------------
| 4 | user2 | mime2 | val6 | val7 | q |
--------------------------------------------------------
| 5 | user2 | mime3 | val9 | val10 | a |
--------------------------------------------------------
| 6 | user3 | mime1 | val11 | val12 | b |
--------------------------------------------------------
基本上,我想进行查询,以便在符合以下条件时从表A中的name,data1,data2列返回数据:
我想知道如何在一个查询中执行此操作。
如果有人能就如何解决这个问题给出一些指示,那就太棒了!谢谢!
答案 0 :(得分:0)
可以使用EXISTS operator和correlated subquery:
来完成此操作SELECT ...
FROM TableA
WHERE mimetype = 'mime2'
AND EXISTS (SELECT 1
FROM TableA AS T2
WHERE T2.name = TableA.name
AND T2.mimetype = 'mime3'
AND T2.data3 = 'a');