- AMD Navi Radeon™ RX 9xxx sorozat
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Szünetmentes tápegységek (UPS)
- Mesébe illő csodakábelt tervezett a GeForce-ok leégése ellen a Segotep?
- Rendkívül ütőképesnek tűnik az újragondolt Apple tv
- Házimozi haladó szinten
- Erősítő, hangfalak
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Kormányok / autós szimulátorok topikja
- 3D nyomtatás
Új hozzászólás Aktív témák
-
-
válasz
Peter Kiss
#3097
üzenetére
megnyugtató, hogy másik is rossz

mysql, db2 valaki? -
légyszi kérdezzétek már meg az adatbáziskezelőtöktől, ha tud ilyet, hogy hány nap telt el szerinte 1752. január 1. és 1753. január 1. között? nekem postgresql ezt írja:
select '1753-01-01'::timestamp - '1752-01-01'::timestamp;
?column?
----------
366 days
(1 row) -
tm5
tag
válasz
concret_hp
#3091
üzenetére
Hát egyszer muszáj lesz végignyalni az alkérdést, hogy megtalálja a minimumot, de mondjuk talán a sort-ot meg tudod úszni:
Tedd bele az alkérdésbe 8. oszlopnak a következőt:
min(egyikmezo) over (partition by 1) as min_ertekés akkor a fő select-ben beírhatod a where-be hogy:
alkerdes.egyikmezo = alkerdes.min_ertek -
martonx
veterán
válasz
concret_hp
#3091
üzenetére
HAVING a kulcsszó
-
concret_hp
addikt
lehet béna vagyok, de nem jövök rá...
van egy alkérdésem, amiben van 7db oszlop. ennek az eredményét szeretném leszűrni úgy, hogy csak az a sor maradjon, amire:
alkerdes.egyikmező = min(alkerdes.egyikmező)hogy a francba kell ezt? where-be nem enged aggregáló fgv-t írni...
a favágó megoldás már megvan: orderelem egyimező szerint és veszem az első sort, csak ez picit pazarló az erőforrásokkal
-
Novics
senior tag
Tényleg csak ennyi hiányzik. Ezt én is észrevehettem volna.
Viszont most meg azon akad ki, hogy nincsen definiálva ez a függvény. Sajnos egész héten rendezvények vannak, és most nincsen túl sok időm ezzel foglalkozni, ettől függetlenül hálás vagyok minden segítségért. Még csak most ismerkedek komolyabban az SQL-lel, ez gondolom egyből látszott a kérdéseimen. 
Ez egy dolgozói nyilvántartás, amiből jogszabálynak megfelelő adattartalommal jelentéseket kell generálnom. Az egyik kötelező adat a közalk. jogviszony kezdete. Ha a usernek volt olyan korábbi jogviszonya, ami beszámít a közalkalmazottiba, akkor annak a kezdődátuma kell, ezek közül természetesen a legkorábbi. (min(kmh.kezdete) where beszam = yes) Ha pedig nem volt ilyen jogviszonya - mert vannak olyanok, akiknek ez az első munkahelye, vagy nem beszámítható egyik korábbi sem -, akkor pedig az itteni jogviszony kezdődátuma kell. (szemad.jogvisz_kezd) Vissza kell kapnom mind a 238 dolgozót, viszont mindegyiket csak egyszer. Elég csak egy olyan tábla, ahol a név és a dátum szerepel, azt már be tudom rakni a jelentésbe. Ami maga szintén elég baltával faragott, biztosan van elegánsabb megoldás, de egyelőre működik, a csinosítás ráér.
Még mindig jöhetnek könyv, weboldal tippek, amin el lehet indulni felfedezni az SQL rejtelmeit.

-
tm5
tag
lehagytam egy záró zárójelet az NVL-es sor végéről, nem amiatt kapsz hibát? Mert amúgy szerintem ennek működnie kellene.
Amúgy nem lenne gond a mutatnál egy példát az adatokra, hogy mi van az egyes táblákban és hogy mi az elvárt select eredmény. 2 ember elég, egyiknél van kmh a másiknál nincs.
-
Novics
senior tag
válasz
bambano
#3087
üzenetére
3 lekérdezés? Egyikben a szemad-ban a névhez tartozó jogvisz_kezd, a másikban a kmh-ben a dolg-hoz tartozó min(kezdet) where beszamithato. Mi a harmadik?
Találtam egy jónak tűnő leírást az unionról, de még nem volt időm átrágni magamat rajta. Arra gondoltam, hogy berakom egy táblakészítő lekérdezésbe, aztán utána arra is ráeresztek egy min()-t. Ez az igazán kőbalta, vagy inkább sima husáng megoldás!
-
-
Novics
senior tag
Az NVL-nél valahogyan meg kellene adni, hogy az ahhoz az emberhez tartozó jogvisz_kezd-et adja meg, akinél nincsen kmh.kezdete. Most eldobja magát, hiányzó művelet miatt. De itt ugyanúgy elakadok, hogy hogyan tudnám ezt megmondani.bambano Még csak nem is hallottam róla - ez nem teljesen igaz, mert valahol láttam már, de nem néztem még meg -, de ez működik.
Már csak az a gond, hogy akinek mind a két táblában van valid értéke, az kétszer szerepel. Sajnos allekérdezésbe nem lehet berakni, pedig próbáltam. 
Tehát vagy az kellene megmondani, hogy a 2 táblából a kisebb értéket hozza ki, vagy pedig a kmh-s értéket, ha az valid, mivel az minden esetben kisebb. -
-
Novics
senior tag
Jönnék egy újabb kérdéssel.

Van egyszer a fentebb megoldott lekérdezés, ahol megkapjuk a legkorábbi kezdődátumot. De vannak olyan userek, akiknél nincsen ilyen dátum, hozzájuk egy másik táblázatban lévő kezdődátumot kellene beírni.
Van tehát 2 tábla:
szemad - itt található a jelenlegi kezdődátum
kmh - itt vannak felsorolva a korábbi munkahelyek, innét kellett a legkorábbit kikeresni
Nekem a jelentésre a kezdődátumhoz vagy a kmh-ban szereplő legkorábbi dátumot, vagy ha ilyen nincsen, akkor a szemad kezdődátumot kell kiíratnom. A két tábla a szemad.id = kmh.dolg mentén van összekapcsolva.Az IIF-re, és beágyazott lekérdezésekre gondoltam - de gondolva az előző megoldásra, lehet, hogy megint ágyúval megyek verébre -, amivel megvizsgálom, hogy a kmh-ban van-e érték, ha nincs, akkor a szemadból kérdezem le a jelenlegi kezdődátumot, ha van érték, akkor az ottani legkisebbet keresem meg.
SELECT szemad.id, szemad.nev, IIF(ISEMPTY((SELECT kmh.kezdete FROM kmh INNER JOIN szemad ON kmh.dolg = szemad.id WHERE kmh.beszamithato =YES)),(SELECT szemad.jogvisz_kezd FROM szemad),(SELECT kmh.kezdete FROM kmh INNER JOIN szemad ON kmh.dolg = szemad.id WHERE kmh.beszamithato =YES))
FROM szemad INNER JOIN kmh ON szemad.id = kmh.dolg
GROUP BY szemad.nev, szemad.id;Azt kapom vissza, hogy ez az allekérdezés legfeljebb egy rekordot képes visszaadni. Nem tudom, hogy ezt pontosan hogyan is kell érteni, de arra magamtól is rájöttem, hogy ez így nem lehet jó. Az allekérdezések ugye nem egy-egy értéket adnak vissza, szóval valahogyan meg kellene mondani nekik, hogy a külső SELECT szemad.id-hoz igazodó értéket adják csak meg. Ha a szemad.nev/id-t átneveztem AS-zel, és az allekérdezésekben meg a WHERE záradékban beírtam, hogy kulso_nev = szemad.nev, akkor meg azért rinyált, hogy a kulsp_nev nem szerepel összesítő függvényben, akkor sem, ha mindegyik függvénybe beleírtam. Szóval totális a káosz, és már nincsen több ötletem.
Közben azért guglizok, és felmerült, hogy esetleg valami olyan megoldás kellene, mint a programozásnál a szubrutinok. Lehet olyat, hogy megírja az ember a 3 lekérdezést, elnevezi őket, és utána csak rájuk hivatkozik? Gyanítom, hogy a külső FROM-ba bele kellene írni ezeket a lekérdezéseket is.
Van valami jó oldal, ahol érthetően, de nem 28ezer oldalon keresztül bemutatják a lekérdezéseket?
A Taylor-féle SQL for Dummies mennyire jó, mennyire szakmai? -
DS39
nagyúr
válasz
martonx
#3079
üzenetére
köszönöm a válaszodat, bár igazából ezzel most nem tudom mit kezdjek, ebben egy szó sincs xml feldolgozásról.
van egy lekérdezés egy táblából ahol az xml nevű oszlop értéke az alábbi xml részlet.
ebből értéket úgy szedek ki, hogy:
select xml.value('(/data/answer[@id="3"])[1]', 'varchar(max)') from table_name
de ez így fixen mindig minden sor esetében a 3-as id-s választ hozza le, nekem pedig az kellene, hogy a 3-as helyére dinamikusan tudjak egy számot bevinni.
mert ha ezt a kódot csak felbontom úgy, hogy :
xml.value('(/data/answer[@id="'+'3'+'"])[1]', 'varchar(max)')akkor ezt az választ kapom az sql szervertől:
The argument 1 of the XML data type method "value" must be a string literal. -
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.
-
DS39
nagyúr
xml-ből szeretnék értéket lekérdezni sql-lel.
<data>
<answer id="1">Válasz1</answer>
<answer id="2">Válasz2</answer>
<answer id="3">Válasz3</answer>
<answer id="4">Válasz4</answer>
</data>úgy szedném ki a választ, hogy:
xml.value('(/data/answer[@id="3"])[1]', 'varchar(max)')
ez mind tök jó, de hogy lehet ezt dinamizálni?
tehát hogy egy másik helyről lekérdezem, hogy xy melyiket választotta, annak az értéke 2, és ezt a 2-est, hogy illesztem be fenti value függvénybe? mert string összefűzéssel nem engedivagy esetleg lehet valahogy hivatkozni arra egy where feltételben, hogy az @id mivel egyenlő?
-
-
Novics
senior tag
Üdv szakik!
Remélem hajtotok el a gagyi access-es kérdésemmel.

Egy táblában vannak userek, és azok adatai, amik közül kettő érdekes a kezdő dátum és persze a név. Mindenkihez tartozhat több kezdődátum. Nekem össze kéne szednem, hogy userenként melyik a legkorábbi kezdődátum. Excelben simán megoldom, és lehet, hogy ez kavar be, hogy itt is ugyanúgy akarom, de egyszerűen elakadtam. A DMIN függvény kéne ha jól gondolom, de nem tudom neki megadni a tartománynál, hogy userenként keresse a legkisebb értéket, és ne az egész mezőben. Excelben csinálok egy táblát, amiben csak egyszer szerepel minden user, és megadom, hogy mindig az adott sorban lévő user nevénél keresse a minimumot. Gyanítom, hogy itt valami másik megoldás lesz, másik irányba kell elindulni.De merre?

-
scream
veterán
Hali!
Aki nagyon otthon van PL/SQL-ben rám tudna esetleg privátban írni?
Köszönöm

P.S.: jellege miatt privát.
-
Kommy
veterán
Hogy lehetne egy olyat csinálni, hogy egy oszlop szerint kiemelni valakiket a sor elejére úgy, hogy az oszlop alap értéke 0, ha valaki ki van emelve akkor ő ehhez kap +1-et , a következő még +1-et.
És ez a sorrend is fontos.Tehát az adatbázis azon oszlopa tele van 0-val majd az első aki a sorban is első lesz értéke 1 lesz a másodiké 2 és így tovább.
Egyáltalán lehet ilyet csinálni?
-
DS39
nagyúr
válasz
DavidPetson
#3067
üzenetére
a lekérdezés egy hibát dob, de azt így php-n keresztül nem látod, futtasd le a kívánt lekérdezést a mysql-ben, és meglátod mi a gond, miért ad vissza boolean-t, a várt adatok helyett.
egyébként a username egy szöveges változó, és te a php bemenő paramétert csak így simán betolod neki. viszont az sql-ben ezt aposztrófok közé kéne tenni, akkor lesz sikeres a lekérdezés.
tehát nem username = kismarcsi mert most ezt kapja a mysql-ed, hanem username = 'kismarcsi'
-
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'];
-
DS39
nagyúr
válasz
DavidPetson
#3065
üzenetére
hát ha nem adsz meg az SQL-nek, egy WHERE feltételt, honnan kéne tudnia, hogy te kinek a nevére vagy kíváncsi?

egy user_id-t át kellene adjál, amit amúgy a bejelentkezési session-ben el kellene tároljál, hogy tudd ki van épp bejelentkezve.
-
DavidPetson
csendes tag
Sziasztok!
Az alábbiakban kérném a segítségeteket:
Adott egy login rendszer, kapcsolódik is az SQL-hez, viszont amikor ki akarom irattatni a belépett felhasználó nevét, vagy bármilyen adatát, automatikusan az első felhasználó adatai jelennek meg, nem az aki belépett.
$sql = "SELECT * FROM member";
mysql_select_db('kliens');
$retval = mysql_query( $sql, $bd );
$row = mysql_fetch_array($retval)<?php echo "{$row['username']}" ?>
Arra gondoltam, hogy egy változót beírok a sql selecthez, viszont annyira ehhez nem értek és könnyen megeshet, hogy ennél jobb megoldás is létezik.
Előre is köszi a válaszokat
-
postgresql 9.1
van egy táblám, így kezdődik a definíciója:
Column | Type | Modifiers
---------------------------+-----------------------------+------------------------------------------------------
id | integer | not null default nextval('service_id_seq'::regclass)
customer_id | integer |
service_type_id | integer |
date | timestamp without time zone | default now()ebbe szeretnék olyan id-vel beszúrni, ami nem az alapértelmezett, ami a serialból jön:
insert into service (id,customer_id,service_type_id) values (1,19973,11);
ERROR: currval of sequence "service_id_seq" is not yet defined in this sessionezt hogy tudom megkerülni? (értelemszerűen nincs id ütközés, nincs 1-es id-jű rekord a táblában).
kösz
-
Louro
őstag
válasz
martonx
#3060
üzenetére
Sziasztok,
@Apollo17hu : Köszönöm, jónak tűnik. Ma meglesem.
fiddle-t még nem használtam SQL-re, csak JAVA-s időkben.
De ez lenne a kód:
CREATE TABLE rendeles_db (
azon varchar2(10),
db number
);INSERT INTO rendeles ('K',1); --Első K rendelés
INSERT INTO rendeles ('K',2); --Második K rendelés
INSERT INTO rendeles ('L',1); --Első L rendelés
INSERT INTO rendeles ('M',1); --Első M rendelés
INSERT INTO rendeles ('L',2); --Második L rendelés
INSERT INTO rendeles ('K',3); --Harmadik K rendelés
COMMIT;CREATE TABLE rendeles_q (
azon varchar2(10),
rendeles_db number
);
--Itt a rendelésekhez tartozó darabszámot adjuk meg.
--A rendelésekhez pedig meg kellene mondani, hogy hányadik a hónapban.
INSERT INTO rendeles_q ('K',5);
INSERT INTO rendeles_q ('K',4);
INSERT INTO rendeles_q ('M',8);
INSERT INTO rendeles_q ('K',2);--Elvárt az lenne ne kézzel kelljen sorszámot adni a rendelésnek, hanem gép adja.
--Így nézne ki a temptábla, amit kapcsolótáblaként használnék fel:
--K,4
--K,5
--M,2
--K,6--Ha ez meglenne, akkor a rendelésekhez mellé tudnám tenni, hogy hányadik a hónapban.
--A rendeléshez az azonosító egyik eleme a sorszám.Köszönöm,
Csabi -
Apollo17hu
őstag
Szerintem ketté kellene szedni az "azon" mezőt. Ha egyben marad, le kell vágni az első karaktert, és a mentén csoportosítani. Nem tudom ellenőrizni, hogy szintaktikailag helyes-e, de valahogy így nézne ki a sorszámozás:
SELECT rendeles.azon
,substr(rendeles.azon, 1, 1) ||
rank() over(PARTITION BY substr(rendeles.azon, 1, 1) ORDER BY rendeles.azon) +
CASE WHEN substr(rendeles.azon, 1, 1) = 'K'
THEN max_sorszam.max_k
WHEN substr(rendeles.azon, 1, 1) = 'L'
THEN max_sorszam.max_l
WHEN substr(rendeles.azon, 1, 1) = 'M'
THEN max_sorszam.max_m
END uj_azon
FROM rendeles
,(SELECT MAX(CASE WHEN substr(sorszam.azon,1, 1) = 'K'
THEN to_number(substr(sorszam.azon, 2)) END) AS max_k
,MAX(CASE WHEN substr(sorszam.azon,1, 1) = 'L'
THEN to_number(substr(sorszam.azon, 2)) END) AS max_l
,MAX(CASE WHEN substr(sorszam.azon,1, 1) = 'M'
THEN to_number(substr(sorszam.azon, 2)) END) AS max_m
FROM sorszam) max_sorszam -
Louro
őstag
válasz
martonx
#3058
üzenetére
Megpróbálom leírni a lényeget.
Adott az első alaptábla. Ezek rendelések. Három kategória a K, L, M.
Két oszlopa van. Azon és DB
Legyen a tartalma:
K1 - 5
L1 - 3
M1 - 12
K2 - 8
M2 -10
K3 - 7Az lenne a cél, hogy egy másik táblában mellé tegyem, hogy hányadik rendelés a hónapban kategóriánként.. Van egy tábla, ahol gyűlnek a sorszámok.
K-ból már 3, L-ből 2, M-ből pedig 5 rögzített sorszám van.
Az elvárt az lenne az új táblában, hogy
K1 - 4
K2 - 5
K3 - 6
L1 - 3
M1 - 6
M2 - 7Remélem így kerekebb.
-
martonx
veterán
Ehhez group by-t kellene használnod plusz valami aggregátor függvényt (mondjuk count). Példa nélkül ennél konkrétabb segítséget nem fogsz kapni.
Azaz kóddal, meg ciklusokkal, meg ilyesmikkel nem kell bohóckodnod, pusztán az SQL mindezt megcsinálja neked, ráadásul sokkal gyorsabban mintha program kóddal szeded össze az adatokat. -
Louro
őstag
Igazából az a feladat, hogy van egy tábla, amiben van x darab rekord. Ez folyamatosan változik. A rekordokat 3 részre kell megadott feltételek mentén bontani.
Az új táblában pedig
- 3 kategória alapján megszámolni mennyi rekord van az első táblában.
- majd mindegyikhez növekvő sorszámot társítani.Ezt most úgy csináltam meg - és lefutott - kivettem a 3 kategória darabszámát az első táblából. Majd 3 ciklussal mellé tettem a növekvő sorszámot.
SQL-lel még kategóriánként meg tudom számoltatni, hogy melyikhez mennyi tartozik, de a növekvő sorszámot már nem. Mondanám, hogy 3 temp tábla, de akkor extra táblákat kellene létrehozni.SQL ismeretem kicsit jobb, mint kezdő, de messze nem merész amatőr.
-
Louro
őstag
Sziaszotk!
Adott a PL SQL.
Performancia vagy stabilitási gondot okozhat ha egy normál script közé beszúrok egy procedurát? Vagy le se futna? Procedurával még csak most ismerkedek. De elsőre úgy érzem a VB tapasztalat segíthet.
Pl.:
select * from táblanév;update....;
create table táblanév2 as select * from táblanév3;
begin
declare
end;select count(8) from táblanév2;
select count(8), count(distinct oszlopnév) from táblanév3; -
DS39
nagyúr
válasz
sztanozs
#3052
üzenetére
Szerintem túl gondolkodjátok az eredeti kérdésemet

Egyik adattáblából kinyert adatot, felhasználok egy másik adattáblából történő lekérdezéshez.az egyetlen bemenő paramétert az SSMS-ben írom bele a scriptbe futtatás előtt.
nem egy állandóan futó valamiről van szó, hogy kellene hozzá program. -
DS39
nagyúr
válasz
sztanozs
#3043
üzenetére
nem tárolt eljárás, csak egy lekérdezés.
de az alábbi megoldás végül is tökéletes nekem.
az amit írsz nem jó (vagy én értem félre)
ha az alábbi kódrészlethez hozzáteszem ezt:
declare @j int = @i - 1és beteszem egy plusz oszlopba a @j-t ,akkor annak minden sorban fix marad az értéke, nem végzi el megjelenített soronként a műveletet.
-
DS39
nagyúr
válasz
Petya25
#3041
üzenetére
Először próbálkoztam ezzel, de akkor a belső select-ben az id-ből próbáltam levonni, ahelyett hogy kívül tenném ezt. Pedig így működik.

és már a belső select-et is kiküszöböltem:
declare @i int = (select id from ...)
select oszlop1, oszlop2, @i - ROW_NUMBER() over(order by oszlop1)
from ...Köszönöm a segítséget.

-
DS39
nagyúr
MS SQL környezetben szeretnék egy olyan lekérdezést csinálni, ahol a select-ben van egy dinamikus változó.
select oszlop1, oszlop2, (select id from ..) - 1
from ...A belső select mindig egy adott id-t, számértéket ad vissza, és az 1 helyett szeretnék egy @i változót soronként növelni, de nem sikerül megoldani.
@i++ nem működik
@i = @i + 1 sem jó.van rá megoldás?
-
rum-cajsz
őstag
válasz
martonx
#3035
üzenetére
Mondjuk martonx kollégának igaza van abban, hogy ha csak egy irányból érkeznek adatok (a programodból), és úgy is most tervezed az egészet, akkor a trigger helyett jobb, ha programból csinálod az insertet is.
A trigger megoldás inkább akkor lehet jó, ha több irányból (több programból, betöltésből, stb.) is érkezhetnek adatok, és nem akarod/ nem tudod ellenőrzötten az összes programodat átírni. -
-
martonx
veterán
válasz
Jim Tonic
#3033
üzenetére
Szerintem ebben az esetben egy teljesen sima tárolt eljárás lenne a megoldás, persze trigger-rel is meg lehet csinálni csak nem elegáns, a triggereket érdemes kerülni, amennyire lehet.
Azaz a sima insert-ed helyett, amit egy trigger figyel, írsz egy tárolt eljárást, annak átadod a paramétereket, és az magán belül intézi az insert-et, kikeresést, és ha kell a másik táblába insert-et.
-
rum-cajsz
őstag
válasz
Jim Tonic
#3033
üzenetére
Igen, értettem én, ezért írtam a kiegészítést alulra. Tehát a select lehet ilyen is:
SELECT new.rendszám,new.autószíne, new.autótípusa from TABLE_B where table_b.rendszem=new.rendszam;
Persze ehhez az kell, hogy a TABLE_B lekérdezés eredménye csak egy sor legyen, tehát a lekérdezésed úgy kell paraméterezni, hogy a végén egy sor legyen a lekérdezés eredménye.
-
válasz
rum-cajsz
#3032
üzenetére
Máshogy írom le.
(Telesen más a téma, de itt csak körbeírnom szabad, ezért elnézést a hülye példáért.)
Table A-ba parkolóba érkező autókat viszek fel.
Mikor ezt felviszem, megnézi az autók listájában (Table B) a rendszám alapján, hogy az milyen autó. Ha a beérkező autó teherautó, akkor Table A-ból néhány mező Table C-be másolódik. -
rum-cajsz
őstag
válasz
Jim Tonic
#3031
üzenetére
Ha igazán szép megoldást akarsz, akkor készítesz egy tárolt eljárást, aminek a paramétere a vizsgálandó adat. Tartalma pedig egy insert-select Utána az after triggerben meghívod ezt a programot, amikor szükséges. De az insert-select mehet közvetlenül a trigger kódjába is. pl. az ID egy oszlopa a tábla1 tábládnak.
create trigger sajáttrigger
active after insert or update
on tábla1
as
begin
insert into tábla3 (number, name)
select number, name from tábla2 where Accepted = new.id;
endErre gondoltál?
szerk:
Ja most látom, hogy az 1-es táblából akarsz értéket tenni bele, akkor úgy kell az oszlopokra hivatkoznod, hogy new.oszlopnév ez annak a táblának az oszlopa, ahová most éppen be akarsz szúrni, vagy módosítasz. -
válasz
DNReNTi
#3028
üzenetére
Lehet stored procedure is vagy trigger is a megoldás, szerintem, de nekem valóban az lenne a lényeg, hogy valaki, akinek ezzel sok tapasztalata van, segítsen egy példával.
Én nem nagyon csináltam ilyet, mivel programból is megoldható, de most van rá okom, hogy kiszervezzem. -
Hali,
kérdésem lenne valami SQL guruhoz. Szeretnék egy feladatot kitolni a DB motorra, és nem a programommal intézni, ha lehetséges. A feladat a következő lenne.
Egy after triggerrel szeretném megoldani, hogy egy rekord után kikeressen egy rekordot egy másik táblából, és ha ott megfelelő értéket talál, akkor írjon egy harmadik táblát, az elsőből származó adatokkal.
Gondolom, lehetséges, de jó lenne nekem egy minta.
Tud valaki ebben segíteni? -
Kommy
veterán
martonx: bambano: köszönöm mindkettőtöknek.
Természetesen a próbálkozás nem az éles adatbázison lesz, hanem egy másolaton.
-
-
Kommy
veterán
Sziasztok!
Kéne egy kis segítség.
Van egy mysql adatbázisom ami most került hozzám, egy programmal egyetemben, a program ír az adatbázisba, találtam egy hibát a programban, ami miatt az egyik táblát teleszemetelte szeretném kitörölni ebből a táblából azokat a sorokat amelyek nincsenek használatban.
A program javítások jegyzőkönyveit tartalmazza, van külön eszköz és javítások tábla, az eszközök táblában sok a duplikáció.A program hibája az volt, hogy a felvett gépet állandóan újként mentette nem pedig módosította.
Tehát amit szeretnék , hogy kitörölni azokat az eszközöket amelyek nem szereplenek a javítások táblában.
Ez megoldható valahogyan egyszerűen?
-
Memphis
tag
válasz
Apollo17hu
#3021
üzenetére
Hmmm...nem vagyok rossz excelből de ez meghaladja már a kepességeimet :-)
Azert utanajarok kicsit. Köszi -
Apollo17hu
őstag
válasz
Memphis
#3020
üzenetére
Excelben is lehet olyan felületet kialakítani, hogy a mezei user észre sem veszi, hogy Office-alkalmazásban van. Kell hozzá egy pofás template, űrlapismeretek, kis makrózás, és egyáltalán nem munkafüzetként fogsz tekinteni a fájlra. Persze egy ilyet normálisan megcsinálni napokba telik (bármilyen környezetben).
-
Memphis
tag
válasz
Diopapa
#3018
üzenetére
most is azt használok. De több usert is bevonnék + jogosultságokat. Ez meg mar excelben körülményes.
Meg őszintén szólva a mai világban már csak van valami jobb megoldás erre mint az Excel....elvégre nem agysebészetNem ártana egy kicsit grafikusabb felület. Semmi extra, de azert az excelnel valami szebb. Nekem tokeletes lenne az Excel de nem csak en használnám....hanem olyan emberek is akik az USB-re azt válaszoljak egészségére
-
mindjárt a számra ütök, hogy ilyeneket mondok, de egy google docs is elég lehet, vagy ha ez nem jó, akkor ms felhőben bérelni egy share point portált. amennyiből egy egyetemista összekalapálna egy webes felületet ehhez, plusz a tárhelybérlet hozzá, annyiból megvan a felhő is.
-
Memphis
tag
Sziasztok!
Szeretném a segítségeteket kérni. Én nem értek a programozáshoz, de lenne egy kérdésem tapasztalt emberektől.
Ha szeretnék egy tök egyszerű programot ami adatokat kezel bizonyos szempontok szerint mennyi lenne megcsináltatni? vagy tudtok ilyen szoftvert? mert több topicban próbáltam segítséget kérni, de nem nagyon kaptam választ.
Kicsit konkrétabban amire szükségem van.
Laci autót akar venni (ezt az igényt tudjam rögzíteni)
2 milliót szán rá (ezt az igényt tudjam rögzíteni)
4-7 éves közötti kocsit (ezt az igényt tudjam rögzíteni)
csak német kocsi (ezt az igényt tudjam rögzíteni)
illetve tudjak a mezők értékeire úgy rákeresni, hogy mondjuk bejön nekem egy 5 éves opel, és én leülök a géphez, hogy van egy 5 éves opelem ami 1,5 millióba kerül, akkor a program dobja fel nekem Lacit.A kocsi meg a többi adatot most találtam ki. a lényeg, hogy legyenek mezők amikbe tudok értékeket megadni és tudok szűrni.
Ez mennyibe kerülhet? vagy tudtok ilyet? csak nem lehet egy gyakorlott programozónak olyan nagy dolog. vagy igen?

Köszi előre is -
half333
őstag
válasz
martonx
#3015
üzenetére
Nem igazán csináltam még ilyet,szóval fogalmam sincs h hogyan kell,viszont találtam megoldást az mssql server 2000 felrakására,minden okés,sikerült az adatbázist visszaállitani,viszont a service manager-nem lehet elinditani: a hozzáférés megtagadva - an error 5
Occured while performing this service operation on the mssqlserver -
martonx
veterán
válasz
half333
#3013
üzenetére
Ha 15mb-os, akkor ahonnan kiexportáltad, ott fogod és scriptet generálsz, nem pedig DB Backup-ot csinálsz. A scriptedben nem lesz más, mint a db sémád, és egy rakás insert. Ez se lesz sokkal több, mint 16MB.
Aztán a scriptet fogod és lefuttatod az SQL Server 2014 alatt, és voilá. -
martonx
veterán
válasz
half333
#3008
üzenetére
Bevallom évek óta nem futtatok elvből SQL szervert lokálisan, csak felhőből (esetemben Azure SQL). SSMS-t is csak a melóhelyen használok, kezdek egyre inkább átszokni a Visual Studio Data Tools-ra. De a 2,5 évvel ezelőtti emlékeim szerint az SQL Server 2012 telepítése win8 alá next-next-finish módon ment, szóval nagyon nem értem a problémádat.
Egészen biztos vagyok benne, hogy win10 + SQL Server 2014 (lehet, hogy időközben kijött a 2016 is?) telepítése is next-next-finish bonyolultságú, de most csak a te kedvedért nem fogok magamhoz SQL szervert telepíteni, csak hogy bizonyítsam az igazam.Szóval nem értem milyen megoldást keresel, milyen problémára? Itt van egy mini tutorial, hogy hogy kell kapcsolódnod a szerverhez az SSMS-el: [link]
Szerk: mire megírtam a hosszú hsz-emet, látom sikerült is megoldanod.

-
half333
őstag
válasz
martonx
#3007
üzenetére
nem tudom melyik sql serer lenne a legjobb ami fut win10 alatt. légyszi segitenél kicsit szájbarágósan elmagyarázni h pontosan hogyan csináljam? akárhol keresem nálam nem működik az a megoldás,meg ugye az angol se megy annyira h megértsem,magyarul meg nem találok semmit.
-
martonx
veterán
válasz
half333
#3006
üzenetére
SQL 2000 után SQL 2014? Elég erős váltás

Server name-nél alapból nem ír ki az SSMS semmit, mivel hehe, neked kell beírnod, hogy mégis melyik szerverhez szerenél kapcsolódni. Localban ez localhost, vagy csak simán '.'
Utána, amikhez már sikeresen kapcsolódtál, akkor azokat a server name-eket megjegyzi, és alapból be fogja írni neked. -
half333
őstag
Üdv! Feltettem az sql server 2014-et. Mindent ugy csináltam ahogy a youtube-on láttam,de mikor csatlakozni szeretnék (ms sql server management studio) a server name-nél nem ir semmit,ill.nem lehet választani. Hogyan tudnák csatlakozni? Fontos lenne! Előre is köszi!
-
half333
őstag
válasz
Peter Kiss
#3004
üzenetére
Tudnál segiteni a kiküszöbölésben,h pontosan hogyan kellene? A munkámhoz kell.
-
válasz
PumpkinSeed
#3000
üzenetére
milyen sql?
postgresql-nél a memóriák méretének növelése segít, illetve ha nem szabvány sql-t dumpolsz, hanem a saját dump formátumát, és akkor az gyorsabb.
Új hozzászólás Aktív témák
- Gamer PC-Számítógép! Csere-Beszámítás! I5 12400F / 16GB RAM / RTX 3080 10GB / 1TB SSD
- BESZÁMÍTÁS! ASRock Z390 i5 8600K 16GB DDR4 512GB SSD RX 6500 XT 8GB Bitfenix Neos acél DeepCool 450W
- iKing.Hu - Google Pixel 10 Tensor G5, 120 Hz OLED, tripla kamera-128 GB Használt, karcmentes Gari
- Acer Predator Rift Essential gamer szék
- Telefon felvásárlás!! Samsung Galaxy A20e/Samsung Galaxy A40/Samsung Galaxy A04s/Samsung Galaxy A03s
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



Viszont most meg azon akad ki, hogy nincsen definiálva ez a függvény. Sajnos egész héten rendezvények vannak, és most nincsen túl sok időm ezzel foglalkozni, ettől függetlenül hálás vagyok minden segítségért. Még csak most ismerkedek komolyabban az SQL-lel, ez gondolom egyből látszott a kérdéseimen. 


Az NVL-nél valahogyan meg kellene adni, hogy az ahhoz az emberhez tartozó jogvisz_kezd-et adja meg, akinél nincsen kmh.kezdete. Most eldobja magát, hiányzó művelet miatt. De itt ugyanúgy elakadok, hogy hogyan tudnám ezt megmondani.
Ez így túl egyszerű.

![;]](http://cdn.rios.hu/dl/s/v1.gif)




