所以我有两个查询,我想一起使用以产生一个输出结果给用户。输出向用户描述从A到B的旅程。当我试图将第一个查询的结果加入到我的第二个查询中时,我不断收到语法错误。组合2个SELECT查询
Query failed: ERROR: syntax error at or near "UNION" LINE 6: UNION^
我有一个看一个类似的问题,但提供的解决方案&讨论似乎并不管用。
$name = pg_escape_string($_POST['name']); // Start destination from user input
$name2 = pg_escape_string($_POST['name2']); // End destination from user input
//If no results are given, the following query below will execute instead.
if (pg_num_rows($result) == 0) {
$query = "SELECT dt1.name as name1,dt1.time as time1,dt2.name as name2,dt2.time as time2
From departure_times as dt1
inner join departure_times as dt2 on dt2.tram_id = dt1.tram_id
UNION
SELECT dt1.name as name3,dt1.time as time3,dt2.name as name4,dt2.time as time4
From departure_times as dt1
inner join departure_times as dt2 on dt2.tram_id = dt1.tram_id;
$result = pg_query($query) or die('Query failed: ' . pg_last_error());
} .....
The desired output I am looking for is the following :
------------------------------------------------------------------------
name1 | time1 | name2 | time2 | name3 | time3 | name4 | time4
------------------------------------------------------------------------
添加括号每个子查询:'(选择...极限5)联盟(选择...极限5)' – Abelisto
像这样:@Abelisto $查询=(“选择dt1.name为NAME1,DT1。时间为time1,dt2.name为name2,dt2.time为时间2 From departure_times as dt1 inner join departure_times as dt2 on dt2.tram_id = dt1.tram_id 其中dt1.name ='$ name'和dt2.name =' CitySquare”) UNION (SELECT dt1.name如NAME3,dt1.time作为时间3,如dt2.name NAME4,dt2.time作为时间4 从departure_times作为DT1 内部联接departure_times作为DT2上dt2.tram_id = DT1 .tram_id 其中dt1.name ='CitySquare'和dt2.name ='$ name2'LIMIT 5“); – bronxdeveloper
这只显示列名称1,时间1,名称2,时间2,而不是其他人。它正在提取数据,但我希望将这两个查询放在不同的列中@Abelisto – bronxdeveloper