Hirdetés
- Samsung Galaxy A57 - kecses test, lusta lélek
- Megérkezett Európába a Soundcore Space 2 fejhallgató
- Hivatalos a OnePlus Watch 4
- Így spórolhat az Apple az iPhone 18 kijelzőin
- OnePlus 15 - van plusz energia
- Fittyet hány a pesti napfényre a Honor 600
- Mobil flották
- iOS alkalmazások
- Microsoft Rewards
- Milyen okostelefont vegyek?
Ú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
- 3-in-1 PRÉMIUM USB-C HUB /Samsung Dex, MacBook, Surface, Chromebook ,Huawei,Motorola
- Üvegfólia,hidrogél fólia: iPhone ,Honor,Google Pixel,,Nothing Phone,Motorola, Samsung telefonokhoz
- 2TB HDD 100/100 - Több darab!
- Gigabyte AORUS 16X - Core i9 14900HX - 32gb ram - RTX 4090 (175W) 1TB SSD + 2027 januárig gyári gar
- SEAGATE ST500DM002 SATA III 500 GB 3,5 HDD
- Keresünk S24/S24+/24 Ultra/S24 FE
- HP ZBook Fury 15 G7,15.6,FHD,i7-10850H,16GB DDR4,1TB SSD,T1000 4GB VGA,WIN11
- iPhone 14 Pro Max 256GB 100% (1év Garancia)- ÚJ EREDETI AKKUMULÁTOR - AKCIÓ
- BESZÁMÍTÁS! Asus Z390 i7 9700 32GB DDR4 512GB SSD RTX 2070 Super 8GB Phanteks Eclipse P360A 650W
- Dell Precision 5511,15.6"FHD,i5-10400H,16GB DDR4,256GB SSD,WIN11,LTE kártya
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

Köszönöm szépen a segítséget 


![;]](http://cdn.rios.hu/dl/s/v1.gif)
Nagyon köszi!!!! Tegnap óta rágódtam rajta, hogy mi a fenét szúrtam el, de nem ellenőriztem le ezt a táblát...


