我正在使用MYSQL数据库,其中有以下3个表,其中table1和table2具有多对多关系,并且映射存储在table3中。</ p>
表1:
id key value
1 Application java
2 Application erp
3 Application sap
4 DB mysql
5 DB oracle
6 DB sql
7 DB postgres
表2:
id data type
1 HTML UI
2 JAVA Backend
3 JavaScript UI
4 CSS UI
5 Query DB
6 Procedure DB
7 Function DB
表3(映射):
id Table1_id Table2_id
1 1 2
2 1 1
3 1 3
4 1 6
5 2 1
6 2 2
7 3 6
8 4 5
9 4 7
10 5 5
11 5 6
12 5 7
13 6 5
14 6 6
15 7 7
问:我想要基于键和值的结果,该结果应该返回表2中的通用数据。
例如:如果用户通过(键=应用程序且值= java)和(键= db且值= sql)
然后它将返回以下结果。
Key Value Data Type
Application java Procedure db
query db Procedure db
答案 0 :(得分:-1)
使用加入
select key,value,data,type from table_mapping m join
table1 t1 on m.Table1_id=t1.id
join table2 t2 on m.Table2_id=t2.id
where
(key,value) in ( ('application','java'),
('query','db')
)