- One mobilszolgáltatások
- Apple iPhone 16 Pro - rutinvizsga
- Samsung Galaxy S21 FE 5G - utóirat
- Motorola Edge 50 Ultra - szépen kifaragták
- Samsung Galaxy A56 - megbízható középszerűség
- Motorola Edge 30 Neo - wake up, Jr...
- Samsung Galaxy S23 Ultra - non plus ultra
- Mobil flották
- iPhone topik
- Google Pixel topik
Új hozzászólás Aktív témák
-
rum-cajsz
őstag
válasz
WonderCSabo #747 üzenetére
Igazad van, szemantikailag nem néztem, csak a szintaktikát.
Most látom, hogy a két táblát nem is kapcsolta össze, így ez hibás eredményt fog adni.
Én így csinálnám.SELECT s.instructor_id,i.first_name, i.last_name,COUNT(*)
INTO v_dummy,v_first_name, v_last_name,v_course_numb
FROM section s, instructor i
WHERE s.instructor_id = i.instructor_id
and s.instructor_id=v_instructor_id
GROUP BY s.instructor_id,i.first_name, i.last_name;Mondjuk könnyebb lenne, ha tudnánk mi a feladat, és a két tábla szerkezete...
-
WonderCSabo
félisten
-
rum-cajsz
őstag
A group by-t nem arra az oszlopra kell, amire a függvényt használod, hanem amire csoportosítani akarsz:
SELECT COUNT(s.instructor_id), i.first_name, i.last_name
INTO v_course_numb, v_first_name, v_last_name
FROM section s, instructor i
WHERE s.instructor_id = v_instructor_id
GROUP BY i.first_name, i.last_name;Nem tudom melyik adatbázis kezelőn használod, de jó, ha tudod, ha a count-on belül használsz oszlopnevet, akkor annak "null" értéke esetén elképzelhető, hogy nem összegzi az a sort. Ha az összes sort akarod számolni pontosabb ez a kód:
SELECT COUNT(*), i.first_name, i.last_name
INTO v_course_numb, v_first_name, v_last_name
FROM section s, instructor i
WHERE s.instructor_id = v_instructor_id
GROUP BY i.first_name, i.last_name;Ha jól emlékszem Oracle-nél ez mindegy.
-
gaben
aktív tag
válasz
WonderCSabo #744 üzenetére
Igen, én sem. Köszönöm, így már jó:
SELECT COUNT(s.instructor_id), (SELECT first_name FROM instructor WHERE instructor_id=v_instructor_id), (SELECT last_name FROM instructor WHERE instructor_id=v_instructor_id)
INTO v_course_numb, v_first_name, v_last_name
FROM section s
WHERE s.instructor_id = v_instructor_id
GROUP BY s.instructor_id ; -
Jester01
veterán
válasz
WonderCSabo #741 üzenetére
Az i.first_name, i.last_name akkor sem lesz kiválasztható.
-
gaben
aktív tag
válasz
WonderCSabo #739 üzenetére
Igen, valóban. Pedig átnéztem, de úgy látom ,hogy ez elkerülte a figyelmem. Köszönöm mindkettőtöknek. Az SQL parancsból egy GROUP by is hiányzot, ezt pótoltam de valamiért nem jó.
SELECT COUNT(s.instructor_id), i.first_name, i.last_name
INTO v_course_numb, v_first_name, v_last_name
FROM section s, instructor i
WHERE s.instructor_id = v_instructor_id
GROUP BY s.instructor_id;
Hiba:
ORA-00979: not a GROUP BY expression
De miért? -
gaben
aktív tag
Szerintetek ez miért nem fut le?
SET SERVEROUTPUT ON;
DECLARE
v_instructor_id NUMBER := &inst_id;
v_course_numb NUMBER;
v_first name instructor.first_name%TYPE;
v_last name instructor.last_name%TYPE;
BEGIN
SELECT COUNT(s.instructor_id), i.first_name, i.last_name
INTO v_course_numb, v_fist_name, v_last_name
FROM section s, instructor i
WHERE s.instructor_id = v_instructor_id;
if v_course_numb >= 3 THEN
DBMS_OUTPUT.PUT_LINE('The instructor ' || v_first_name );
ELSE
DBMS_OUTPUT.PUT_LINE('The instructor ' ');
END IF;
DBMS_OUTPUT.PUT_LINE('Done...');
END;
.
/ORA-06550: line 4 coloumn 16
PLS-00103 : Encountered the simbol "INSTRUCTOR" when expecting one of the following :
:= , ( @ .....stb... -
sonar
addikt
válasz
WonderCSabo #717 üzenetére
Müxik, már csak a vb6 vs access között kell finom hangolni a dolgot, mert momentán csak az első értéket kapom meg pedig 26 szummának kellene lenni.
-
sonar
addikt
válasz
WonderCSabo #717 üzenetére
Csak a könnyebb érthetőség miatt egyszerűsítettem, természetesen nem egyedi kulcsról van szó.
A query-t meg majd este fele próbálom.
-
Lortech
addikt
to_char mit dob erre, ha kiíratod vele a sysdate-et:
to_char(sysdate,'DD-MON-YYYY')Vagy kérdezhetném azt is, hogy mi az nls_lang:
select DECODE(parameter, 'NLS_CHARACTERSET', 'CHARACTER SET',
'NLS_LANGUAGE', 'LANGUAGE',
'NLS_TERRITORY', 'TERRITORY') name,
value from v$nls_parameters
WHERE parameter IN ( 'NLS_CHARACTERSET', 'NLS_LANGUAGE', 'NLS_TERRITORY') -
gaben
aktív tag
Sziasztok!
Lenne egy PL/SQL gondom a dátum formátummal, és nem értme miért nem jó...
Így deklarárolom :
DECLARE
v_date DATE:=TO_DATE('&sv_user_date', 'DD-MON-YYYY');Így adom be: 05-JUN-2005 , és mindig ORA-01843 not a valid month üzenetet kapok. De miért? Ha a formátumot 'DD-MONTH-YYY'változtatom, akkor is ez az üzenet. Viszont, ha '
DD-MM-YYYY', tehát számmal írom be a hónapot, akkor jó. Mi lehet a gond az előző 2 esetben? -
sonar
addikt
Sziasztok
Egy kis SQL query-s segítségre lenne szükségem.
Adott egy tábla amiben van egy id meg egy value oszlop. A feladat az lenne, hogy az azonos id-khoz tartozó value értékeket adja össze a query és én csak a végét kapjam meg.Pl
id value
1 0,38
1 0,01
1 0,38
1 0
1 0,14
1 0,02
1 0
1 0
1 0value=0.93 - ezt szeretném megkapni
üdv sonar
-
varsam
őstag
üdv
Access-be van egy táblám, amiben az egyik szöveg típusú mezőben dátumok vannak tárolva 'yyyy.mm.dd' (nincs pont a végén) formában. Van egy másik táblám, az abban lévő dátum mező rendes dátum formátumban van 'yyyy.mm.dd.' formában.
Ezt a két mezőt nekem össze kéne kapcsolnom, de így nem működik. Hogy tudnám ezt megoldani?előre is kösz!
-
D@ni88
addikt
válasz
WonderCSabo #710 üzenetére
Igen, azt már tudtam magamtól is
-
D@ni88
addikt
válasz
WonderCSabo #707 üzenetére
thx megvan
-
Frigo
őstag
Szerintem a DATE_FORMAT sql-függvény tökéletes erre.
-
D@ni88
addikt
Hali, van egy date típusú mezőm.
Pl 2011.04.25. 00:00:00'Ebből szeretném az óra perc-et kinyerni. Milyen megoldás van rá? SUBSTR-el csak a dátumot írja ki és azt se olyan formába ahogy kellene...
-
D@ni88
addikt
2x
Új hozzászólás Aktív témák
- Honor Magic 7 Pro 512GB / 12GB RAM / Fekete / Független / Újszerű állapot / 3 év gyári garanciával!
- Bomba ár! Lenovo ThinkPad L390 - i7-8GEN I 8GB I 256SSD I 13,3" HD I HDMI I Cam I W11 I Gari!
- Samsung Galaxy A32 4G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba Ár! Lenovo ThinkPad T540P - i5-4GEN I 8GB I 256GB SSD I 15,6" HD I Cam I W10 I Gari!
- 119 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 (48 hónap garancia!)
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest