将这两个SQL查询合并为一个结果相同的查询

时间:2018-10-04 13:38:16

标签: mysql

在将这两个sql查询合并为一个并获得相同结果时,我需要一些帮助。

数据库结构:

Table: sqldb1_meta

Columns: ipaddress, data

第一个查询:

SELECT * FROM sqldb1_meta WHERE ipaddress LIKE '%10.10.1.2%'

从第一个查询中,我得到所有与coulmn ipaddress 10.10.1.2匹配的内容,另一列包含该条目的数据,在本例中为“ 92”

第二个查询:

SELECT * FROM sqldb1_meta WHERE data LIKE '92'

现在,我获得了我想要显示的所有数据,所有具有列数据值92的数据。根据第一个查询,我只能知道它是92。

如何将其合并为一个查询,而不必运行2个查询?

3 个答案:

答案 0 :(得分:0)

需要更多详细信息,但可能需要inner join表本身(自我联接)或union ...

答案 1 :(得分:0)

Select条件下,将您的第一个Where查询用作Subquery

SELECT `ipaddress`, 
       `data` 
FROM sqldb1_meta 
WHERE `data` IN (
                 SELECT `data` 
                 FROM sqldb1_meta 
                 WHERE `ipaddress` LIKE '%10.10.1.2%'
              )

答案 2 :(得分:0)

根据您的帖子,您只需要使用and运算符将where子句中的两个条件组合在一起

SELECT * FROM sqldb1_meta WHERE ipaddress LIKE '%10.10.1.2%' and data LIKE '92'