2015-12-04 458 views
0

我想做的事情在SQL多個查詢一次,我知道該怎麼做單獨的每個查詢,但我不能找到一種方法,所有這些結合在一個單一的查詢 爲了這個,我使用兩個不同的表先上被稱爲預訂SQL查詢相結合

Table booking

對於我的第一個查詢我想只選擇ROWNUMBER的行構成的PerfDate = 2015年12月10日和PerfTime = 16:00:00

我的第二張桌子非常大,它被稱爲座位,它看起來像這樣

enter image description here

對於我的第二個查詢我想都來自具有不同ROWNUMBER座位表中的行,從兩個查詢我想要的結果與第一次查詢的結果combaring時

然後走行僅其中區攤位前

任何人都可以請幫助我,在此先感謝

+3

嗯...但你的疑問?您只顯示了表結構/數據,但在您的問題中沒有任何疑問。你到目前爲止嘗試過什麼嗎? –

+2

這是哪種RDBMS?請添加一個標籤來指定您是使用'mysql','postgresql','sql-server','oracle'還是'db2' - 或者其他的東西。 –

回答

0

你可以使用第一查詢作爲標準第如下。因此,您可以選擇RowNumber不在第一個查詢中的座位表中的所有內容。你也可以篩選這樣的結果,讓你只能得到「攤位前」如下:

Select * from YourSeatTable 
where RowNumber not in (Select RowNumber from YourTable1 
         where PerfDate = '2015-12-10' and PerfTime='16:00:00') 
    and Zone = 'front stalls' 
+0

謝謝你真的很感激 – user3397260

0

你也試試這個:

select * 
from seats s 
where not exists (
    select 1 
    from booking 
    where 
     perfdate = '2015-12-10' 
    and perftime = '16:00:00' 
    and rownumber = s.rownumber 
) 
and zone = 'front stalls' 

該查詢可能會遇到比使用where in更快。