Czy jest możliwe uwzględnienie tabeli DUAL w zapytaniu o dołączenie?Czy możliwe jest uwzględnienie podwójnej tabeli w zapytaniu o dołączenie
Czy ktoś może dać mi przykład, który zawiera SYSTIMESTAMP
z podwójnej tabeli.
Czy jest możliwe uwzględnienie tabeli DUAL w zapytaniu o dołączenie?Czy możliwe jest uwzględnienie podwójnej tabeli w zapytaniu o dołączenie
Czy ktoś może dać mi przykład, który zawiera SYSTIMESTAMP
z podwójnej tabeli.
Spróbuj tego rozwiązania:
select (select SYSTIMESTAMP from dual) as d
/*
Here you can add more columns from table tab
*/
from tab
Jednym z powszechnych zastosowań (dla mnie) jest go używać, aby dołączyć do inline widoki na ...
SELECT
filter.Title,
book.*
FROM
(
SELECT 'Red Riding Hood' AS title FROM dual
UNION ALL
SELECT 'Snow White' AS title FROM dual
)
AS filter
INNER JOIN
book
ON book.title = filter.title
[Jest to celowo banalizowany przykład.]
Nie powinno być potrzeby, DUAL
słowo kluczowe to sposób, aby powiedzieć, że nie kwerendy tabeli, jeśli chcesz "dołączyć" DUAL
z inną tabelą, po prostu kwerendę do drugiej tabela, w tym kolumny, które nie pochodzą z tabeli w klauzuli select.
EDIT: Ponieważ komentarze mówi, to stwierdzenie jest fałszywe, DUAL
jest stół.
Nadal uważam, że nie ma sensu w tym (z pytania)
DUAL tabeli w sprzężenia
To nie jest prawda, 'DUAL' jest tabelą, a nie ** słowem kluczowym **. Przeczytaj więcej tutaj: http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1562813956388 –
@ A.B.Cade Dobrze, moje złe. Wciąż 'DUAL' jest zaprojektowany jako pomocnik i tak długo, jak dodajesz inną tabelę w zapytaniu, nie powinno być już potrzeby dla tego pomocnika. Nie ma sensu robić żadnych produktów kartezjańskich z jednym rzędem, ponieważ jest to element neutralny, a PO wyraźnie żąda "włączenia tabeli DUAL do łączenia". – Paciv
Zasadniczo można, ale nie ma takiej potrzeby.
można dodać kolumnę systimestamp pseudo aby cokolwiek kwerendy masz już:
SELECT t.col1, t.col2, systimestamp
FROM your_table t
dadzą takie same wyniki jak
SELECT t.col1, t.col2, d.st
FROM your_table t, (select systimestamp st from dual) d
nocie, że podwójny stół ma tylko jedną linię, więc produkt cartessian będzie nie dodawać wierszy do pierwotnego zapytania.
Dziękuję wszystkim za odpowiedzi. Rozwiązanie A.B Cade'a zadziałało. Rzeczywista rzecz, którą próbuję zrobić, jest następująca: Kiedy trafimy na serwer przy użyciu Fiddlera lub Listonosza do testowania API, DB zwraca znaczniki timestamp zdarzenia. Ta wartość znacznika czasu musi być porównywana ze znacznikiem czasu zwrotu połączenia usługi sieciowej, tj. Znacznikiem czasu rzeczywistej odpowiedzi sieciowej http. Wartość endTime. Czy ta wartość powinna być zawarta w samym API przez DEV, czy jest jakiś sposób, abyśmy mogli zapytać o coś i je zdobyć? A jak przekonwertować ten znacznik czasu na CDT? Otworzę nowy wątek, jeśli nie jest to istotne pytanie. Dzięki. – rktimeless
@rktimeless, nie jestem pewien, czy rozumiem twoje wymagania, ale wydaje się, że powinieneś otworzyć nowy wątek dla tego pytania. Podobnie jak w przypadku CDT, znacznik 'timestamp with timezone' (jak systimestamp) obsługuje już CDT, czytaj więcej tutaj http://docs.oracle.com/cd/B19306_01/server.102/b14225/ch4datetime.htm # i1006760 –
Cześć ABCAde, po prostu potrzebuję uzyskać znacznik czasu, gdy zwraca się odpowiedź sieci http. Używam Fiddlera, aby trafić interfejs API na serwer, który z powodzeniem podaje odpowiedź http w następujący sposób: "header": { "product": "xxxxxxxxxx", "version": "xxxxxxxx" }, "status": { "ElapsedTime": 329, "httpReturnCode": 200, "statusCode": 0, "sukces": true, "startTime": 1350387905444, "statusDescription": "Udane" } --- to jest odpowiedź jsona. Ale to nie pokazuje czasu zakończenia, czasu, w którym odpowiedź została zwrócona. Jakieś pomysły? – rktimeless
Powinieneś oznaczyć swoje pytania konkretnym rodzajem SQL, którego używasz. – podiluska