SQL 查询,以使用其他两个查询的结果


SQL query to use results of two other queries?

我有两个查询来从表中获取 OLD 和 NEW 值等数据。这里的"item1"是我从中检索"旧"和"新"值的列。

现在,使用结果集 Query1 和 Query2 ,我想检查第二个表中的字段"itemOLD"和"itemNEW",以检查 qbove 两个查询结果。与 Query1 结果一样,我将使用 itemNEW 查看 itemOLD AND查询 2。由于两者在同一行中,我想检索结果。

编辑1

表中的数据

  dbitem TABLE
    id1     id2     item1   
    ------------------------
    1       11      obj1    
    2       22      obj2    
    3       33      obj3    
    4       44      obj4    

   dbcateg TABLE
    id      itemOLD   itemNEW
    --------------------------
    9       obj3      obj1
    8       obj4      obj1
    7       obj1      obj3
    6       obj1      obj4
   RESULT 
   ---------
   Query 1 : set of OLD items from dbitem TABLE
                item1
               -------
                obj1
                obj2
   Query 2 : set of NEW items from dbitem TABLE
                item1
               -------
                obj3
                obj4

   MainQuery: from dbcateg TABLE
        dbcateg.id  dbcateg.itemOLD    dbcateg.NEW
        -------------------------------------------
         7              obj1           obj3 
         6              obj1           obj4

我认为这就是您正在寻找的(您的查询组合):

SELECT dbcateg.id, dbcateg.item2 
FROM dbitem 
INNER JOIN dbcateg on 
(dbitem.item1 = dbcateg.item1 OR dbitem.item1 = dbcateg.item2) AND 
(dbitem.item2 = dbcateg.id1 OR dbitem.item2 = dbcateg.id2)