- Apple iPhone 16 Pro - rutinvizsga
- Samsung Galaxy A54 - türelemjáték
- Xiaomi 15 - kicsi telefon nagy energiával
- Keretmentesít a Galaxy S25 FE
- Motorola Edge 50 Fusion - jó fogás
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Eltűnhet a Dinamikus Sziget
- Google Pixel topik
- Milyen okostelefont vegyek?
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
Új hozzászólás Aktív témák
-
nyunyu
félisten
-
nyunyu
félisten
Probléma az, hogy a WHERE után írt feltétel az globális.
Ha oda azt írja, hogy t19.ertek>19, akkor minden olyan rekordot vissza fog adni, ahol ez teljesül.
NULL értékekre definíció szerint <,=,> hasonlítás sem teljesül, emiatt kiszűri azokat, ahol csak a T20 táblában lenne jó érték, de a T19-ben nincs.LEFT/RIGHT/FULL JOINkor emiatt fokozottan figyelni kell a NULLokra.
Tehát valami ilyesmit tud csinálni, hogy
where (t19.ertek is null OR t19.ertek>19)
and ... többi feltétel. -
nyunyu
félisten
Egyáltalán kell egy plusz lekérdezés az Oracle specifikus from dual szintaxissal?
Nem lenne egyszerűbb egy
select nvl(count(*),0) from tablanev;[szerk:]Hmm,Oracle 11G2 amúgy is 0-t ad vissza count(*)-ra, ha nincs egy rekord se a táblában, nem NULL-t.
-
Fundiego
tag
Köszönöm.
Egyébként ez már php de mért dob ki hibát?
hogy kellene ezt a SET @rank-ot és select @rank-ot kiíratni php-ban? vmiért nem akar működni, hibát dob ki. (a tábla kiíratását nem illesztettem be most, de nem az a probléma)$servername = '*';
$username = '*';
$password = '*';
$dbname = '*';// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
mysqli_set_charset($conn,'utf8');$sql1 = "SET @rank=0";
$sql2 = "select @rank:=@rank+1 AS rank, s.* FROM
(
SELECT gyumolcs, sum(mennyiseg)
FROM gyumolcs Where ev='2016'
group by gyumolcs
ORDER BY sum(mennyiseg) DESC
) s";$result = mysqli_query($conn, $sql1,$sql2) or die("Bad Query: $sql");
-
Fundiego
tag
Köszi, ez így jó
3763
Sajnos régebben voltak futamok ahol verseny közben a pilóták átadták egymásnak a kocsit, így előfordult a hivatalos végeredménynél, hogy pl 3 db 2. hely is lett ezáltal. A versenyzőknél ezt úgy jegyzik le, hogy 3 db 2. hely viszont a csapatoknál ez csak 1-nek felel meg. -
kw3v865
senior tag
Most próbáltam így is, de hiába, sajnos nem megy.
Igen, a Management Studioban futtatom. Az övezeteket pedig ArcGIS-ben rajzolom.Tehát a lényeg az hogy az alábbival viszont jól lefut, HA csak egy sort commit-olok egyszerre:
ALTER TRIGGER nepesseg_szum ON OVEZETEK
AFTER INSERT
AS
BEGIN
DECLARE @TERULET GEOMETRYSET @TERULET = (SELECT SHAPE FROM INSERTED)
UPDATE OVEZETEK SET Nepesseg_ossz = (SELECT SUM(n.lakosok) from NEPESSEG_EOV N
WHERE N.SHAPE.STWithin(@TERULET)=1) WHERE OVEZETEK.OBJECTID=(SELECT OBJECTID FROM INSERTED); -
kw3v865
senior tag
Így gondoltad?
CREATE TRIGGER nepesseg_szum ON OVEZETEK
INSTEAD OF INSERT
AS
BEGIN
INSERT INTO OVEZETEK (OBJECTID, SHAPE, Nepesseg_ossz) SELECT I.OBJECTID, I.SHAPE, (SELECT SUM(n.lakosok) from NEPESSEG n
WHERE N.SHAPE.STWithin(I.SHAPE)=1) FROM INSERTED IEND;
Nem jó, mert "Unspecified error occured on SQL Server. Connection amy be terminated by server", miután megrajzolom az övezet poligont, majd mentem (commit-olom).
-
kw3v865
senior tag
Egyelőre így néz ki jelenleg a triggerem a kurzorral, de a probléma továbbra is ugyanaz.
ALTER TRIGGER nepesseg_szum ON OVEZETEK
AFTER INSERT
AS
BEGINDECLARE @TERULET GEOMETRY
DECLARE @ID INTDECLARE @kurzor CURSOR
SET @kurzor = cursor FOR
SELECT SHAPE, OBJECTID FROM INSERTEDOPEN @kurzor
FETCH NEXT FROM @kurzor INTO @TERULET, @IDWHILE @@FETCH_STATUS = 0
BEGIN
UPDATE OVEZETEK SET Nepesseg_ossz = (SELECT SUM(n.lakosok) from NEPESSEG_EOV N
WHERE N.SHAPE.STWithin(@TERULET)=1) WHERE @ID=(SELECT OBJECTID FROM INSERTED);FETCH NEXT FROM @kurzor INTO @TERULET, @ID
ENDCLOSE @kurzor
DEALLOCATE @kurzor
END;Vajon hol ronthattam el?
-
kw3v865
senior tag
Köszönöm, így már elég jól működik, de még nem tökéletes: már csak arra kell megoldást találni, hogy ha egynél több sort szúrok be az övezetek táblába, akkor is működjön.
Tehát ha pl. 2 új sor van, akkor ezt írja ki: Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
Jól gondolom, hogy ehhez kurzort kellene használni?
-
DS39
nagyúr
vagy ha nincs egy konkrét érték amit vizsgálj, akkor az INSERTED selectjében ki cserélhetetd azt az oszlopértéket a belső selected sum-jára.
SELECT oszlop1, oszlop2,
(SELECT SUM (TELEPULES.LAKOSOK) FROM TELEPULES
WHERE TELEPULES.SHAPE.STWithin(I.SHAPE)=1),
oszlop4, oszlop5 ....
FROM INSERTED I(@terulet helyett bekerülendő shape oszlop értékét betéve, már nem kell tudd az objectid-t)
-
Cathfaern
nagyúr
Egy darab update-et kell írni, abban csak lecserélgetni az ID-kat. Nem úgy gondoltam, hogy kézzel irogassa át a táblákat
Sok mindent lehet rá írni persze, de ha 50x kell megcsinálni, akkor bármit is írsz rá az tovább fog tartani, mint ha megcsinálod kézzel. Feltéve, hogy elsőre jól írsz meg mindent, mert ha már valamit debugolni kell (akár egy elgépelést), akkor sokkal tovább fog tartani
-
Petya25
őstag
Ha csak annyit szeretnél, hogy az egyik DB-ből átolvass egy másik szerver DB-jébe akkor ezzel nem kell így trükközni.
Csinálsz egy sql usert a távoli DB-ben.
Itt a Linked Server nevébe beírod a távoli szerver nevét, a Security fülön meg megadott Remote loginnak a távoli sql usert a jelszóval.
És átolvasol teljes útvonallal: select * from [gép].[db].dbo.[tábla] -
kezdosql
tag
Access2000 a feltetel, igy nem volt sok jelentkezo ra. Most mar tudom, hogy eleg dolgozgatnom, mert csak fizetgetni akarnak.
Eredetileg "normalisan" akartam megcsinalni, embereken belul alkalmazottak, de pont ok akartak, hogy csak az auto a lenyeg es azzal kapcsolatban kell minden, reszletesen, kulon. Most meg rajottek, hogy megis ugy kene, ahogy eredetileg javasoltam, mert az adatbevitel ugy sokkal egyszerubb. -
kezdosql
tag
-
martonx
veterán
Nem értettem teljesen a kérdésedet, de valami ilyesmi dinamikus lekérdezést szeretnél?
https://www.mssqltips.com/sqlservertip/1160/execute-dynamic-sql-commands-in-sql-server/
Azaz exec ('select * from table') - ahol a stringed igaziból bármi lehet, azt szépen végig fogja hajtani az sql motor.
-
DavidPetson
csendes tag
Kiegészítettem ezzel:
$sql = "SELECT * FROM member WHERE username = $username";
Kaptam ezt:
mysql_fetch_array() expects parameter 1 to be resource, boolean given
Ezt próbáltam mindenhogy, és mindig ez a válasza rá
Elvileg azt menti:
$_SESSION['SESS_MEMBER_ID'] = $member['mem_id'];
Új hozzászólás Aktív témák
Hirdetés
- Ryzen 9 7900X /// Bontatlan // Üzletből, számlával és Garanciával!
- Ryzen 9 7900 /// Bontatlan // Üzletből, számlával és Garanciával!
- Ryzen 7 5700X3D /// Bontatlan // Üzletből, számlával és Garanciával!
- Ryzen 7 8700G /// Bontatlan // Üzletből, számlával és Garanciával!
- Ryzen 5 9600X /// Bontatlan // Üzletből, számlával és Garanciával!
- OnePlus 13 - Black Eclipse - Használt, karcmentes
- Bomba ár! Dell Latitude 3540 - i5-4GEN I 4GB I 500GB I 15,6" HD I HDMI I Cam I W10 I Garancia!
- Bomba ár! Lenovo ThinkPad T470s - i5-6GEN I 8GB I 256GB SSD I 14" FHD I Cam I W10 I Garancia!
- BANKMENTES részletfizetés Acer Nitro 5 AN515-54-77VS
- Bomba Ár! Dell Latitude 3190 - Intel N4120 I 4GB I 64GB SSD I 11,6" HD I Cam I W11 I Garancia!
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest