Specyfikacja SQL9x - jaki odpowiednik oraclowego DECODE ?
Krzysztof - 20-01-2006 20:23
Specyfikacja SQL9x - jaki odpowiednik oraclowego DECODE ?
W swoim programie łączę sie z bazą ( plikiem DBF) a pomocą sterownika "Microsoft.Jet.OLEDB.4.0"
I chciałbym w zapytaniu SELECT wykonać taki algorytm: If A < 0 Then "Ujemna" Else "Dodatnia"
Wiem że w Oracle jest komenda DECODE i MS SQLSERVER coś podobnego. Ale ten sterownik jest zgodny chyba wyłącznie ze specyfikacją SQL9x.
Czy jest tam funkcja, którą mógłbym to załatwić ?? Jak nie to w jaki sposób to wykonać ?
Dzieki
--
Pozdrawiam Krzysztof J.
Andrzej J. Turowicz - 20-01-2006 20:23
Swego czasu czytałem/pisałem do baz FoxPro 2.6 jako obiekty LinkedServer serwera Ms SQL 2000 Serviło to ze 3 lata temu
Napisz mi fragmencik kodu jakim otwierasz bazy DBF a ja spróbuję 1. znaleźć swoje stare programy przetestuje Twój problem
Pamiętam w tej chwili że chyba uzywałem innego Providera ale nie jestem pewien, chyba ODBC-owego
Andrzej
Użytkownik "Krzysztof" <k_jaracz@poczta.onet.pl> napisał w wiadomości news:dqoekt$gk6$1@atena.e-wro.net... >W swoim programie łączę sie z bazą ( plikiem DBF) a pomocą sterownika > "Microsoft.Jet.OLEDB.4.0" > > I chciałbym w zapytaniu SELECT wykonać taki algorytm: > If A < 0 Then "Ujemna" Else "Dodatnia" > > Wiem że w Oracle jest komenda DECODE i MS SQLSERVER coś podobnego. Ale ten > sterownik jest zgodny chyba wyłącznie ze specyfikacją SQL9x. > > Czy jest tam funkcja, którą mógłbym to załatwić ?? > Jak nie to w jaki sposób to wykonać ? > > Dzieki > > > > -- > > Pozdrawiam > Krzysztof J. > >
Krzysztof - 20-01-2006 20:23
Mam tabele A( ID_DOK, DATA, WART_K, WART_D, WART_T, ODCHYLENIE)
Mam grupować po DATA i sumować WART_K, WART_D, WART_T pole ODCHYLENIE muszę sumować w krotce osobno dla wartosci dodatnich i osobno dla ujemnych.
I krotka ma mieć przykładowo postać: DATA = 2005/01/01 WART_K = 100 WART_D = 300 WART_T = 10 ODCHYLENIE_DODATNIE = 0 ODCHYLENIE_UJEMNE = 10
Oto kod którym połączenia z plikiem DBF:
Set DBF_Connection = New ADODB.Connection
With DBF_Connection .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=" & sDataSourcePath & ";Extended Properties=dBASE IV;User ID=Admin;Password=" .Open Set rs = .Execute(sSelect) End with
Do While Not rs.EOF .... Loop
Użytkownik "Andrzej J. Turowicz" <at@buchalter.com.pl.BEZ.SMIECI> napisał w wiadomości news:dqoia7$j5r$1@nemesis.news.tpi.pl... > > Swego czasu czytałem/pisałem do baz FoxPro 2.6 jako obiekty LinkedServer > serwera Ms SQL 2000 Serviło to ze 3 lata temu > > Napisz mi fragmencik kodu jakim otwierasz bazy DBF a ja spróbuję > 1. znaleźć swoje stare programy > przetestuje Twój problem > > Pamiętam w tej chwili że chyba uzywałem innego Providera > ale nie jestem pewien, chyba ODBC-owego > > Andrzej > > > Użytkownik "Krzysztof" <k_jaracz@poczta.onet.pl> napisał w wiadomości > news:dqoekt$gk6$1@atena.e-wro.net... > >W swoim programie łączę sie z bazą ( plikiem DBF) a pomocą sterownika > > "Microsoft.Jet.OLEDB.4.0" > > > > I chciałbym w zapytaniu SELECT wykonać taki algorytm: > > If A < 0 Then "Ujemna" Else "Dodatnia" > > > > Wiem że w Oracle jest komenda DECODE i MS SQLSERVER coś podobnego. Ale ten > > sterownik jest zgodny chyba wyłącznie ze specyfikacją SQL9x. > > > > Czy jest tam funkcja, którą mógłbym to załatwić ?? > > Jak nie to w jaki sposób to wykonać ? > > > > Dzieki > > > > > > > > -- > > > > Pozdrawiam > > Krzysztof J. > > > > > >
Grzegorz Danowski - 20-01-2006 20:23
Użytkownik "Krzysztof" <k_jaracz@poczta.onet.pl> napisał w wiadomości news:dqoekt$gk6$1@atena.e-wro.net... >W swoim programie łączę sie z bazą ( plikiem DBF) a pomocą sterownika > "Microsoft.Jet.OLEDB.4.0" > > I chciałbym w zapytaniu SELECT wykonać taki algorytm: > If A < 0 Then "Ujemna" Else "Dodatnia"
IIF(A < 0, "Ujemna", "Dodatnia") As TwojePole
> Wiem że w Oracle jest komenda DECODE i MS SQLSERVER coś podobnego. Ale ten > sterownik jest zgodny chyba wyłącznie ze specyfikacją SQL9x.
Zgodny ze składnią JET, czyli silnika baz accessowych. A tak poza tym, to skoro masz dbf-y, to być może lepiej korzystać z providera OLEDB do FoxPro. Kiedyś z nim eksperymentowałem i u mnie dane z dbf-ów ściągały się kilka razy szybciej niż przez Jet-a. Wówczas oczywiście będziesz korzystał ze składni SQL-a FoxPro (w tym przypadku identycznej z Jet, czyli funkcji IIF()).
Pozdrawiam Grzegorz
Krzysztof - 20-01-2006 20:24
Dzięki zadziałało - tez coś mi świtało ze powinno być zgodne z MS Jet. Ale nie znałem/nie pamiętałem tego polecenia.
Użytkownik "Grzegorz Danowski" <gdn__na@serwerze__poczta.onet.pl> napisał w wiadomości news:dqokkq$boe$1@inews.gazeta.pl... > Użytkownik "Krzysztof" <k_jaracz@poczta.onet.pl> napisał w wiadomości > news:dqoekt$gk6$1@atena.e-wro.net... > >W swoim programie łączę sie z bazą ( plikiem DBF) a pomocą sterownika > > "Microsoft.Jet.OLEDB.4.0" > > > > I chciałbym w zapytaniu SELECT wykonać taki algorytm: > > If A < 0 Then "Ujemna" Else "Dodatnia" > > IIF(A < 0, "Ujemna", "Dodatnia") As TwojePole > > > Wiem że w Oracle jest komenda DECODE i MS SQLSERVER coś podobnego. Ale ten > > sterownik jest zgodny chyba wyłącznie ze specyfikacją SQL9x. > > Zgodny ze składnią JET, czyli silnika baz accessowych. > A tak poza tym, to skoro masz dbf-y, to być może lepiej korzystać z > providera OLEDB do FoxPro. Kiedyś z nim eksperymentowałem i u mnie dane z > dbf-ów ściągały się kilka razy szybciej niż przez Jet-a. Wówczas oczywiście > będziesz korzystał ze składni SQL-a FoxPro (w tym przypadku identycznej z > Jet, czyli funkcji IIF()). > > Pozdrawiam > Grzegorz >
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
=?iso-8859-2?Q?W_jaki_spos=F3b_utworzy=E6_plik_accessa_nie_po siadaj=B1c_M?==?iso-8859-2?Q?S_Accessa=3F?=
Prezentacja =?ISO-8859-2?Q?zdj=EA=E6_z_w=B3=B1czeniem/wy=B3a?==?ISO-8859-2?Q?czeniem_-_jaki_program_polecacie_do_tego_?=
MySQL + UTF8 + PL znaki - jest =?ISO-8859-2?Q?jaki=B6_logiczny?==?ISO-8859-2?Q?_spos=F3b_=3F?=
[MySQL] Jaki typ pola aby =?ISO-8859-2?Q?trzyma=E6_liczby_od?==?ISO-8859-2?Q?dzielone_przecinkiem_=3F?=
jaki =?ISO-8859-2?Q?sprz=EAt_do_Sony_Vegas_i_DVD_Arc?==?ISO-8859-2?Q?hitect=3F?=
[Oracle] W jaki sposób skopiować całą zawartość schemy jednego użytkownika do nowo utworzonego użytkownika?
[ms sql] =?ISO-8859-2?Q?wy=B6wietlenie_pierwszych_5_rekord?==?ISO-8859-2?Q?=F3w_z_zapytania_=3F_odpowiednik_ROWNUM_w_o?== ?ISO-8859-2?Q?raclu_dla_MS_SQL=27a?=
Najlepszy klient (windows) do ręcznego podgladania baz danychwykonywania query itp - jaki
[ORACLE] Stored Procedures - jaki typ danych przy dostępnie poprzez ADO?
[SQL] W jaki sposób zwrócić wiersze które NIE znadują się w 2 pozostałych kolumnach
zanotowane.pldoc.pisz.plpdf.pisz.pllatwa-kasiora.pev.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|