0
列のデータがNULLの場合でもfNo列の結果をすべてのデータに戻すことはできますか?Sysdateを使用した動的データの表示 - Oracle SQL
現在のコード:
Select a.sNo, a.tCode, a.fno
from airplane a, Scheduled_Flight s
Where a.fno = s.fno or SDT >= trunc(sysdate);
のOracle SQLからの出力例:
SNO TCODE FNO
------- ------------------------------ -------
0000001 A320
0000002 A320 VA12190
0000003 A330 VA82716
0000004 A330 VA82723
0000005 A330 VA82722
0000006 A330 VA82123
0000007 A330
0000001 A320
0000002 A320 VA12190
0000003 A330 VA82716
0000004 A330 VA82723
SNO TCODE FNO
------- ------------------------------ -------
0000005 A330 VA82722
0000006 A330 VA82123
0000007 A330
0000001 A320
0000002 A320 VA12190
0000003 A330 VA82716
0000004 A330 VA82723
0000005 A330 VA82722
0000006 A330 VA82123
0000007 A330
0000002 A320 VA12190
SNO TCODE FNO
------- ------------------------------ -------
0000004 A330 VA82723
0000006 A330 VA82123
私はフライト番号(FNO)は本日に予定されている便の欄に結果を表示したいです。今日は予定されていない他のフライトは、すべてのフライトをリストしながら、fno列にヌル値を返す必要があります。私がSQLに慣れていれば、どんな助けでも大歓迎です。
EDIT: 私は以下のようにすべてのSNOを表示したいだけSNO 0000003のFNOと0000005.今日に予定されていないされていない他の便でしょうWHERE SDT >= TRUNC (SYSDATE);
を削除するときにこれが出力されます。
SQL> SELECT a.sNo, a.tCode, a.fno
2 FROM airplane a LEFT OUTER JOIN Scheduled_Flight s ON a.fno = s.fno;
SNO TCODE FNO
------- ------------------------------ -------
0000001 A320
0000002 A320 VA12190
0000003 A330 VA82716
0000004 A330 VA82723
0000005 A330 VA82722
0000006 A330 VA82123
0000007 A330
7 rows selected.
EDIT 2:
SELECT a.sNo, a.tCode, a.fno
2 FROM airplane a LEFT OUTER JOIN Scheduled_Flight s ON a.fno = s.fno
3 AND SDT >= TRUNC (SYSDATE)
4 order by a.sno;
SNO TCODE FNO
------- ------------------------------ -------
0000001 A320
0000002 A320 VA12190
0000003 A330 VA82716
0000004 A330 VA82723
0000005 A330 VA82722
0000006 A330 VA82123
0000007 A330
EDIT 3: 私は次のように表示したいと思います。
SNO TCODE FNO
------- ------------------------------ -------
0000001 A320
0000002 A320
0000003 A330 VA82716
0000004 A330
0000005 A330 VA82722
0000006 A330
0000007 A330
EDIT 4:これで、私はSDTでグループ化し、示されたSDTのFNOのみを表示できますか?
SNO TCODE FNO SDT
------- ------------------------------ ------- --------------------
0000001 A320
0000002 A320 VA12190
0000003 A330 VA82716 11/SEP/2017 21:59:00
0000004 A330 VA82723
0000005 A330 VA82722 11/SEP/2017 14:00:00
0000006 A330 VA82123
0000007 A330
使用する必要があります。これは今日だけのための便ではなく、スケジュールされていない他のフライトを返します。たとえば、今日は予定されていないフライトは、これらのフライトの列にfNoが空白/ヌルで表示する必要があります。 – Dave
だからつまり、 'SDT> = TRUNC(SYSDATE)'は必要ありません。 –
編集を参照してください。 – Dave