我想将共享同一“城市”列的机场组合在一起。 现在它们都是并排列出的,这很好,但我想为每个有两个机场的城市添加一个额外的选项标签。
例如,现在我的代码显示:
纽约 - JFK
纽约 - 拉瓜迪亚
洛杉矶 - 洛杉矶
但我希望它显示:
纽约 - 全部
纽约 - JFK
纽约 - 拉瓜迪亚
洛杉矶 - 洛杉矶
感谢任何帮助。提前致谢
$getairportsfrom=mysqli_query($db,"SELECT * FROM details WHERE type='Airport' ORDER BY city");
while($rowfrom = mysqli_fetch_array($getairportsfrom)) {
echo "<option value='".$rowfrom['title']."'>" . $rowfrom['city'] . " - " . $rowfrom['title'] . "</option>";
}
答案 0 :(得分:2)
如果这是您的查询:
SELECT city, title
FROM details
WHERE type = 'Airport'
ORDER BY city;
您可以通过此查询获得所需内容:
select city, title
from ((select city, 'All' as title, 1 as ordering
from details
group by city
having count(*) > 1
) union all
(select city, title, 2 as ordering
from details
)
) d
order by city, ordering;
SQL实际上并不是为这种类型的表示操作而设计的。但是,可以这样做。