在两个表上运行两个查询,以获得一个mysql / php结果列表

时间:2010-01-20 19:11:18

标签: php mysql

我有两个表,每个表都有一个我们称之为widgetid的字段。

我需要在两个表上运行查询,这将从两个表中返回单个widgetid列表。

我不知道该怎么做。

我现在拥有的是:

        $result = mysql_query("SELECT * FROM `inventory` WHERE find_in_set('$serial', items)") or die(mysql_error());
        while($row = mysql_fetch_array($result)){ 
        foreach($row AS $key => $value) { $row[$key] = stripslashes($value); } 
        $widgetid = $row['widgetid'];

        //Do Stuff For Each WidgetID

        }

现在我需要使用相同的$ serial,并在第二个表中搜索widgetid的列表。但我仍然需要在同一个地方做“做事”,两个小工具列表为一个

3 个答案:

答案 0 :(得分:5)

SELECT widgetid FROM TABLE1 WHERE find_in_set('$serial', items)
UNION
SELECT widgetid FROM TABLE2 WHERE find_in_set('$serial', items)

这是你在找什么?这将结合两个选择查询并将其作为单个结果提供。

答案 1 :(得分:3)

我认为您正在寻找UNION

答案 2 :(得分:2)

为什么不使用联合

Select widgetid from table1   
UNION
select widgetid from table2