Desktop
Website
Multimedia
Database
Security
Enterprise
Fråga : Oracle 9i SQL avkoda
Hi den pröva förmiddagen för
I skriver en SQL som efter baseras på villkora:
select
a.id, f_name för
a.col2,
b.col3 L-namnger,
c.v_date date_1,
decode (a.cat, ”007”, 'first'
, ”008”, ”se
cond”, '') som
from a, b, c för cat_type
.....,… ändring för
The för
where
...... som jag önskar att göra på den ovannämnda SQLEN är:
If den ovannämnda SQLEN går precis ett rekord för ”först tillbaka”, och man för ”understöder”, mig önskar att visa endast rekordet som ”först” innehåller, detta som jag kan få by using MINUT fungerar i avkodningen, som är:
min (avkoda (a.cat, ”007”, ”fi
rst”, '008 '
, ”understöder”,
'')), som cat_type jag ska får precis rekordet som ”först” innehåller.
But, om den går tillbaka, mer än ett rekord för ”första” eller ”understöder” därefter det bör gå som den is.
For tillbaka eg.: smeden för den första 02/01/2010
1 john för cat_type date_1
1 john för
ID F_Name L_Name för smeden den första 14/04/2010
1 john smeden understöder smeden första 02/14/2010
1 john för cat_type date_1
1 john för
or
ID F_Name L_Name för
för
för
för
för
för 05/03/2010
2 .......................... ..... .......................... ..... .......................... ..... som smeden understöder 04/16/2010
1 john, smeden understöder för 02/19/2010
.......................... för
..... för
.......................... för
..... för
för or
ID F_Name L_Name för cat_type date_1
1 john den första 02/17/2010
1 john smeden första 01/19/2010
1 john för smeden, smeden understöder 03/20/2010
1 john, smeden understöder
för
för
för
för
för
för 02/28/2010
.......................... .......... .......... .......... ...... ...............................
so på så framåt.
I önskar att göra något som är lik:
för
(FALL NÄR ((a.cat = ”007” OCH RÄKNINGEN (a.cat) > 1) ELLER (a.cat = ”008” OCH RÄKNINGEN (a.cat) > 1)) THEN
avkoda (a.cat, ”007”, 'first'
, ”008”, ”se
cond”, '')
END
för minuten för
ANNAN (avkoda (a.cat, ”007”, ”fi
rst”, '008 '
, ”understöder”,
''),),), som cat_type
But detta inte är funktionsduglig riktigt.
Can någon föreslår en metod för att lösa denna?
Thanks@
Related lösningar för class= ":
Svar : Oracle 9i SQL avkoda
att göra det även enklare, allt som du behöver, är den nedanföra I-funderare. Det producerar samma resultat som visade i screenshaten vilket jag fäste redan. vi behöver inte tilläggsgruppen vid etc.…,
Försök detta och väljer som du önskar någonsin.
välj *
från (
VÄLJ X.*,
RÄKNING (AVKODA (X.C_TYPE, ”PRIMÄRT”, 1 som, är ogiltiga)) ÖVER (DELNING VID X.ID) PRIM_CNT,
RÄKNING (AVKODA (X.C_TYPE, ”MÄRKA MED SINA INITIALER”, 1 som, är ogiltiga)), ÖVER (DELNING VID X.ID) INIT_CNT
FRÅN
(VALD T1.ID, T1.NAME, T1.DESCRP, t2.c_desc,
avkoda (T2.C_ID, ”007”, ”PRIMÄRT
”, ”008”
, ”MÄRKA MED SINA INITIALER”
, ''), som C_TYPE
FRÅN TESTA T1, T2 TEST2
VAR
T1.ID = T2.ID
) X
grupp vid x.ID, x.NAME, x.DESCRP, x.c_desc, x.C_TYPE) A
var inte (a.prim_cnt =1 och a.init_cnt = 1 och c_type='PRIMARY)
Tack
Andra lösningar
Hur många skrivar av sidor r där i SQL-server?
OMA och OWA
Missa över mellan GLÅMIGA anslutningar för aktiv/för aktiv på en Cisco Router
ASP.Net tappar skuggar verkställer
Vad är ämna av ”den MAKEFILE” makroen i en makefile?
Ett rengöringsdukundantag uppstod därför att en HTTP 401 - det obehöriga svaret mottogs från okända
Funktionen måste använda en Updateable Query
PHP passerar parametrar till den on-line aktiveringssidan
Ethernetövergångskabel förbinder
döda ett processaa vid styrka, hur kan jag