выполнить два запроса к двум таблицам, чтобы получить один список результатов с помощью mysql / php - PullRequest
1 голос
/ 20 января 2010

У меня есть две таблицы, каждая с полем, которое мы будем называть 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 и найти во второй таблице список виджетов. Но мне все еще нужно быть в состоянии "делать вещи" в одном месте, с обоими списками виджетов как один

Ответы [ 3 ]

5 голосов
/ 20 января 2010
SELECT widgetid FROM TABLE1 WHERE find_in_set('$serial', items)
UNION
SELECT widgetid FROM TABLE2 WHERE find_in_set('$serial', items)

Это то, что вы ищете? Это объединит два выбранных запроса и даст вам один результат.

3 голосов
/ 20 января 2010

Я думаю, вы ищете UNION .

2 голосов
/ 20 января 2010

Почему бы вам не использовать союз

Select widgetid from table1   
UNION
select widgetid from table2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...