2012-04-03 114 views
0

得到這2個查詢:結合SQL查詢

select d1.field_id_41 program_code, d1.field_id_48 program_group_code, t1.title program_lookup, t2.title group_title, 
     t1.url_title program_url_title, t2.url_title program_group_url_title 
from channel_titles t1 
join channel_data d1 on t1.entry_id = d1.entry_id 
join channel_data d2 on d1.field_id_48 = d2.field_id_47 
join channel_titles t2 on t2.entry_id = d2.entry_id 
where t1.channel_id = 26 and d1.field_id_41 != '' 
order by d2.field_id_45 , d1.field_id_9 


select ProgramCode, ProgramGroup, EventCode, FormalDate, LocCity, LocState, LocAddress, LocName, Price, 
     zl.latitude as LocLatitude, zl.longitude as LocLongitude 
from course_events e 
join channel_data d on e.ProgramCode = d.field_id_41 
join channel_titles t on d.entry_id = t.entry_id 
join zip_lat_long zl on zl.zip  = e.LocZipCode 

目前,第一個查詢用來填充叫program_lookup,program_url_titles和program_group_url_titles 3個JSON對象。 然後,從第二個查詢返回的項目(也放置在名爲event的JSON對象中)進行迭代,然後根據事件JSON對象中的數據,將結果的一部分與查找緩存中的項目一起顯示在我的HTML中:

html = html + hr + '<div class="course"><div class="col1' + tm10 + '"><h4>' + program_lookup[event['ProgramCode']] + '</h4></div>'; 
html = html + '<div class="col1"><b>' + event['LocCity'] + '</b><br/>' + '... <a href="/courses/' + program_group_url_titles[event['ProgramGroup']] + '/'+ program_url_titles[event['ProgramCode']]+ '/' + event['EventCode'] + '" target="_new">View Details</a></div><div class="col2">'; 

我需要將這些組合成一個查詢擺脫三個查找的對象,但我不能確定它是否會是非常有效的還是真的如何去這樣做。 這將允許我使用該實用程序http://jsonselect.org來基本篩選項目,然後將它們顯示在我的HTML中。 我需要這個的原因是我需要在所有其他項之前顯示某些項目,並且按照正確順序放置它們不能在SQL中完成。

回答

1

這些select語句不匹配,所以將它們組合起來可能不是您想要做的。在那裏你可以結合兩個SELECT語句的一個例子是聯合所有在您選擇這條規則:

select a, b, c from table1 
    union all 
select a, b, c from table2 

您應該添加有關您的客戶端要求的更多細節,但你總是可以多個對象結合成一個JSON對象如下。比方說,你有2個對象:

[{'name':'dan','dog':'spot'},{'name':'sarah','dog':'rex'}] 
{'names':['dan','sarah']} 

你可以把它們合併成1:

{'detail':[{'name':'dan','dog':'spot'},{'name':'sarah','dog':'rex'}],'justNames':{'names':['dan','sarah']}} 

你可以理解JSON作爲一個簡單的對象符號,如果你仔細閱讀官方JSON頁面上的第一個三個圖:http://www.json.org/

+0

聯合將無法工作,因爲第一個查詢中的數據取決於第二個查詢中的數據。 – MB34 2012-04-03 20:57:50

+0

我想通了,無論如何,感謝您的幫助。 – MB34 2012-04-03 21:37:01