0

我正在尝试从两个不同的表中获取“指示”数据。

仅选择 FROM 时,该脚本工作正常number_one

用 , 中间尝试过这个,但那是行不通的。

我该怎么做?

query2 = mysql_query("SELECT `indication` FROM `number_one`, `number_two` ORDER BY `indication` DESC"); 
while($row2 = mysql_fetch_object($query2)){
if($explode2[1] == $row2->indication){
echo "<option value=\"$row2->indication\" selected=\"selected\">$row2->indication</option>";
}
else{
echo "<option value=\"$row2->indication\">$row2->indication</option>";
}
}

解决方案

query2 = mysql_query("SELECT `indication` FROM `number_one` UNION ALL SELECT `indication` FROM `number_two` ORDER BY `indication` DESC"); 
while($row2 = mysql_fetch_object($query2)){
if($explode2[1] == $row2->indication){
echo "<option value=\"$row2->indication\" selected=\"selected\">$row2->indication</option>";
}
else{
echo "<option value=\"$row2->indication\">$row2->indication</option>";
}
}
4

1 回答 1

-2

假设您有两个表,number_one并且number_two使用该indication列,您的查询将交叉连接两个表,为您提供一组行,每个行都有两列 (number_one.indicationnumber_two.indication,在所有可能的组合中。

如果我正确理解了这个问题,您希望将它们作为一列,其中包含两个表中的所有值。这可以使用UNION ALLset 运算符来完成,如下所示:

SELECT indication
FROM ( SELECT indication
       FROM   number_one
       UNION ALL 
       SELECT indication
       FROM   number_two)
ORDER BY 1 DESC
于 2013-11-06T15:35:10.700 回答