Új hozzászólás Aktív témák
-
imibogyo
veterán
Na megint én.......
Nézdd meg légyszíves, mit csinálok rosszul, a hiba biztos az én készülékemben van.....
KépÉn arra gondoltam, hogy ha megnézed a képen a mufaj_id és az iro_id a k__onyv táblában 0 defaultosak, a saját táblájukban meg nincs ott semmi ez nem lehet gond ????
vagy valami más eltérés ??? másra már nem tok gondolni amennyire én értek ehhez...
Ja és holnap 12-ig kell leadnom asszem.........

Azért addig is köszi....

-
Lortech
addikt
válasz
imibogyo
#296
üzenetére
Ja még egy kérdés, ezt a JOIN dolgot csak lekérdezésnél lehet megcsinálni ?? nem tudom összekapcsolni őket alapból, mint pl. Accesben ???
Mi másnál akarod megcsinálni? Az sql és az access két külön fogalom.
A k, sz, m a könyv, szerző és műfaj rövidítése. Amint látod, ott van, hogy konyv k, így k-val tudsz hivatkozni a könyvre, nem csak ezután, hanem előtte is, pl a select k.cim.
SELECT k__onyv.cim, i__ro.iro, m__ufaj.mufaj FROM k__onyv k JOIN i__ro i ON k__onyv.iro_id=iro_id JOIN m__ufaj m ON k__onyv.mufaj_id=mufaj_id;
Persze, hogy nem jó, mivel a "k__onyv.iro_id=iro_id" résznél nem adod meg, hogy az iro_id melyik táblához tartozik. Tehát k__onyv.iro_id=i__ro.iro_id, és a műfajnál is ez. -
imibogyo
veterán
Na úgy írtam be, hogy
SELECT k__onyv.cim, i__ro.iro, m__ufaj.mufaj FROM k__onyv k JOIN i__ro i ON k__onyv.iro_id=iro_id JOIN m__ufaj m ON k__onyv.mufaj_id=mufaj_id;
És így nem jó azt mondja
Syntax error near: 'ON k__onyv.iro_id=iro_id JOIN m__ufaj m ON k__onyv.mufaj_id=mufaj_id' at line 1

-
imibogyo
veterán
Köszi..
Pont így csináltam meg, azóta ugyanis egy pár órát rádobtam a cuccra. A táblák kész vannak, csak azt a JOIN-os lekérdezést nem értem, amit írtál, ha le tudnád írni részletesen azt megköszönném.
Tábláim:i__ro (iro_id, iro)
k__onyv (cim_id, cim, iro_id, mufaj_id)
m__faj (mufaj_id, mufaj)Előre is köszi.

Ja még egy kérdés, ezt a JOIN dolgot csak lekérdezésnél lehet megcsinálni ?? nem tudom összekapcsolni őket alapból, mint pl. Accesben ???
Vedd semmisnek, most látom, hogy elég részletesen írtad le, csak azt nem értem, hogy mi az a "k" "sz" "m" (az lesz a rövidítése, vagy mi
) -
Lortech
addikt
válasz
EEdem_Dtx
#293
üzenetére
Nem tudok más megoldást sajna.
imibogyo:
Leegyszerűsített séma az alapkoncepció megértéséhez:
konyv (id, cim, szerzo_id, mufaj_id)
szerzo(id, nev)
mufaj(id, nev)konyv tábla egy sora:
1,Közöny,1,1
2,Bukás,1,1szerzo tábla egy sora:
1,Albert Camusmufaj tábla egy sora:
1, regenyHa a lekérdezésben összekapcsolod a táblákat úgy, hogy:
select k.cim, sz.nev, m.nev from konyv k
join szerzo sz on k.szerzo_id = sz.id
join mufaj m on k.mufaj_id = m.id
- akkor megkapod eredménynek, hogy:
Közöny, Albert Camus, regény
Bukás, Albert Camus, regényA címet és nevet nem érdemes szétbontani értelemszerűen, mivel ez egyedi. Kiadás évét sincs sok értelme külön kategóriára bontani szvsz.
De pl. a kiadót érdemes. -
imibogyo
veterán
Sziasztok !!
Nagy kaksiban vagyok, kaptam egy feladatot az új számtek tanáromtól, hogy majd erre adja meg a félévi jegyemet (MySQL), de mi még nem is tanultunk ilyet, de hiába mondjuk neki, azt állítja, hogy a régi tanárunk azt mindta neki, hogy igen tanultunk SQL-t...

Na az a feladatom, hogy csináljak egy könyves táblázatot, de úgy hogy ne legyen benne felesleges redundancia (több táblában legyenek az adatok, /könyv címe, kiadás éve/ /író/ /műfaj/, és ha jól értem valahogy úgy akarja mint accesben, hogy az adatok ezekből a táblákból legyenek áthozva egy közös táblába
, hogy ne legyen például a "dráma" vagy a "szerző" 200-szor letárolva, hanem csak egyszer (vagy valami ilyesmi)Ha tudtok segíteni ....
-
EEdem_Dtx
csendes tag
...szépen működik is, a gond most az, hogy én nagylelkűen felruháztam scott/tiger felhasználómat, minden joggal, így látja is a 'dba_tab_columns' táblát/nézetet, de más rendszeren, egy mezei scott-nak, nincs joga hozzáférni :S. Létezik másik tábla is, amiből le lehet kérdezni az oszlopokat?
vagy ha nem, hát azzal fog kezdődni a kód, hogy beállítom a jogosultságot... csak nem igazán elegáns.köszönöm, ha valaki tudna segíteni

-
Lortech
addikt
-
-
EEdem_Dtx
csendes tag
valaki meg tudná mondani, hogy listázhatom ki, egy tábla által tartalmazott oszlopok neveit?
köszi
-
Biaggio
őstag
Adott egy parancs, ami kilistázza azokat a felhasználókat, akik szerepelnek mindkét adatbázisban, azonosítószám alapján összevetve:
SELECT e107_user_extended.* FROM e107_user, e107_user_extended
WHERE e107_user_extended.user_extended_id = e107_user.user_idA kérdés egyszerű: hogyan lehet ezt úgy átírni, hogy azokat listázza ki, akik ezen felül szerepelnek az e107_user_extended táblában (de nem szerepelnek az e107_user-ben) ?

-
_Lord_B_
tag
SziaSztok,
mi lehet akkor ha a táblákat amikor lekérdezem az ékezet helyén csak ??? jelenik meg FF és IE alatt is, de csak ha a En irom a PHP kodot, ha PHP adminnal kérdezem le miden ok... PLS help! -
#65304576
törölt tag
Eltartott egy ideig, mire értelmeztem, de azt hiszem, értem.
Tehát van egy többé-kevésbé bonyolult képleted (kivonás), amit egy csomó más helyen is használni szeretnél ugyanazon select-en belül, és ezért szeretnéd először kiszámolni, majd a többi oszlopnál is valamiféle változót használni.A probléma csak kényelmi és vizuális ("csúnyán néz ki"), performanciára nincs hatása, mert az első kivonás eredménye kvázi konstansként behelyettesítődik majd a többi képletbe is (a parser felismeri az azonos kifejezést).
Az Oracle-nek egyébként nincs inline változója, bár al-select-ekkel (inline view, vagy with ... as) megoldható a dolog, azzal igen valószínű, hogy csak rosszabbul jársz.
Szóval marad a ctrl+c / ctrl + v.
(Vagy a pl/sql, de az is lassabb lesz.)Ha a kifejezést máshol is használni kellene (pl. where-ben), akkor már esetleg lehet gondolkozni azon, hogy előre kiszámolni és primary key alapján visszakötni a főtáblához, immár egyszerű oszlopként. Pl.:
with sub_diff as ( select id, end_time - start_time mp_diff
from table1 where (end_time - start_time) < 5 )
select d.data1 / t.mp_diff, d.data2 / t.mp_diff, d.data3 / t.mp_diff
from sub_diff t, table1 d
where d.id = t.id -
lapa
veterán
üdv. lenne egy következő kérdésem, szintén oracle sql alá:
vagy egy randa oszlopom a select részben, amit viszont szeretnék több más oszlopban is használni. hogy érthető legyen az első oszlop két időpont különbsége másodpercben. ezt a másodpercet szeretném más oszlopokhoz is használni (pl. ha van még egy méter oszlop, akkor méter / másodperc értékhez).
megoldható valahogy, hogy a ronda másodperc-kivonós oszlopnak valami kvázi nevet adjak és utána csak ezt a változót használjam a többi oszlopnál? köszönöm.
-
lapa
veterán
válasz
Jester01
#277
üzenetére
értem. a baj így csak annyi, hogy én pont a külső táblának nem adhatok aliast. a program, ahol ez a select lefut automatikusan kiegészíti az általam megadott where részt további változókkal (végülis egy formban megadott adatokkal), viszont nem ír eléjük aliast (
kulso.blan
). ilyenkor ugyebár a program által megadott változókra 00918 ambiguously defined hibát kapok.
de mondok jobbat: ne küzdj vele, megcsináltam excel & ms query-ben, végülis az eredmény volt a lényeg.
-
Jester01
veterán
1. Az alias nem befolyásolja a where-t, ott attól még nyugodtan lehet használni az eredeti nevet is.
2. ez valami rettentő nagy eredményt ad: Ugyanis az al-selectben ha nem írod ki explicit a táblanevet/aliast akkor az a belső táblá(k)ra vonatkozik. Tehát tulajdonképpen azonosságot írtál (eltekintve attól, hogy NULL != NULL). Helyesen a külső selectben kell megadni tábla aliast és arra hivatkozni. Így ni:select bla, bla2, bla3, bla4,
(select count(*) from tabla where bla = kulso.bla) from tabla kulso where ... -
lapa
veterán
üdv. van egy oracle selectem:
select bla, bla2, bla3, bla4 from tabla where ...
egy olyan oszloppal kéne kiegészítenem, amely megszámolja, hogy hány ugyanolyan fajta sor van az adott soron kívül (tehát pl bla azonos az adott sorral).
a problémám annyi, hogy nem tudok aliast adni, mert az adott programkörnyezet nem teszi ezt lehetővé. ennek oka, hogy mindenképp kiegészíti az én jó kis aliasos selectemet egy alias nélküli where-rel...
megpróbáltam beágyazni egy másik select-et (ez tűnne a szimpatikusnak):
select bla, bla2, bla3, bla4,
(select count(*) from tabla ujra where ujra.bla = bla) from tabla where ...ez kihoz egy eredményt, de úgy tűnik ez valami rettentő nagy eredményt ad. úgy sejtem, hogy nem tudtam neki megmondani, hogy csak az adott sor bla értékéhez egyezőket keressen.
remélem érthető a probléma. elég láma vagyok sql-ben de minden tippet szívesen fogadok. próbáltam rákeresni a neten, de nem jutottam előbbre.
-
DeniBoy
aktív tag
Sziasztok !
Van 1 adatbázis kezelőm ami .tab kiterjesztést használ, amibe menti az adatokat
Ez régebbi sqlce adatbázis progival készült amit láttam
de a tartalma az ilyen:
1644,390,44101744,'2007/7/23',3,121,NULL,NULL,NULL
valahogy igy néz ki texteditorral :
ez is ugyan ez csak más számok, vagy más a sorrend:
...¶ŢË ŕ E ‡¶ŢË ŕ E †¶ŢË ŕ E
†¶ŢË ŔD
valami ilyen tartalom van benne, mivel láthatnám az adatokat vagy szerkeszthetném ? -
gyurman
tag
válasz
Louloudaki
#272
üzenetére
Megoldottam OO calc-cal, VLOOKUP és =SEARCH(C2;B2;1) paranccsal.
Már csak annyi a kérdésem:
1. mező egyedi értékekkel
2. dulpázott értékekkel rendelkezik.
Ebből szeretnék olyan táblát csinálni, hogy a duplázott értékek egyediek legyenek és az egyedi meg hiányosan jelenne meg.
Ezt hogyan tehetem? -
gyurman
tag
válasz
Louloudaki
#270
üzenetére
MAjdnem jó, csak nem fix hosszúságú. Köszi
-
Louloudaki
aktív tag
-
gyurman
tag
-
MUŁĐER
addikt
Helló
Visual Foxpro.ban szeretnék két adatbázis tábláis között adatot cserélni az insert into parancsal. Az Alis045.dbf különböző oszlopaiban lévő adatokat kéne a JT1.másnevű oszlopaiba rakni.
Próbáltam ezt:
INSERT INTO C:\temp\táblák\JT1.dbf (Tipus ).|. Ja_gtipus FROM C:\temp\MIKI2006\DBV\Alis045.dbf;
de syntax error....valaki tudna segíteni hogy mit írtam rosszul?
[Szerkesztve] -
gyurman
tag
Köszi a választ!
MYSQL-t szeretnék installálni, de az összes hivatalos oldalról töltött nem megy a gépemen.
Tipikus error 1335 product.cab bug-ot kapok.
Hol találhatok olyan verziót ami megy a sima xp home -on? A gépben Intel 64 bites proci van.
Ti mit használtok?
Tapasztaltatok ilyet?
[Szerkesztve] -
shev7
veterán
honnan vetted azt, hogy 5 mezo van? minden termek-tulajdonsag par egy sor a tablaban
termek_id,tul_id1
termek_id,tul_id2
termek_id,tul_id3
termek_id,tul_id4
termek_id,tul_id5
ugyanigy egy masik termek_id-hoz is felvehetsz tulajdonsagokat...
Ha egy termek tulajdonsagait keresed leszursz termekid-ra. Ha egy tulajdonsagnak megfelelo termekeket keresel leszursz tulajdonsag_id-ra. Ha azt akarod tudni, hogy egy termek-re jellemzo-e egy tulajdonsag leszursz mindkettore... nem olyan bonyolult ez... -
-
tzs84
tag
szerintem sem lesz gyorsabb
ha a sztring alapján akarsz tulajdonság szerint szűrni, akkor végig kell olvasnia az egész táblában az összes stringet, azokra illeszteni
ha indexeled a stringet, akkor ahhoz hosszú index kell (az egész hosszára!), ami sok helyet foglal, és lassítja a beszúrásokat, módosításokat
ha a külön táblát indexeled tulajdonságid szerint is, akkor csak azokat a sorokat kell olvasnia, amik megfelelnek, és eleve két int-et kell csak összehasonlítani, még joinnal együtt is gyorsabb lesz szerintem, és kevesebb helyet fog foglalni, gyorsabb lesz a beszúrás/módosítás is
és az hogy végig kell túrnia sztringeket pont akkor lesz rossz, amikor már nagy lesz a tábla, mert ahhoz hogy lekérdezz 50-et sokkal többet kell majd olvasnia, mert egyszerűen nem tudja majd merre keresse őket, míg az indexelt tulajdonságid-nél egyből tudni fogja, és 50et összejoinolni nem lesz nagyobb költség mint mondjuk 500 sztringet végigolvasni a lemezről mire megtalál annyit amennyi a limitben van
szerk:
ha ennyire aggódtok a join miatt akkor használjatok innodb táblákat, azoknál elvileg gyorsabb az elsődleges kulcs szerinti joinolás
[Szerkesztve] -
shev7
veterán
''akkor a te módszereddel csak 1 tulajdonság rendelhető a termék id mellé ugye?''
Nem, pont az a lenyege a modszernek, annyi tulajdonsagot parositasz a termek melle amennyit akarsz...
Mas szempontbol sem jo ez a vesszos modszer, mert ha pl torolni szeretnel tulajdonsagot, az elegge maceras...
[Szerkesztve] -
Jester01
veterán
válasz
Louloudaki
#257
üzenetére
Az adatmennyiségtől erősen függ. Sok rekord esetén a join gyorsabb lesz.
-
gyurman
tag
Én is ezen gondolkodtam, de öteletem nincs, hogyan tegyem. Mert ha nem tévedek, akkor a te módszereddel csak 1 tulajdonság rendelhető a termék id mellé ugye?
Nálunk egy webhez értő fickó mondta, hogy vesszővel válasszam el a tulajdonságokat, és akkor végtelen számú tulajdonságot vehet fel egy termék.
Már adtam neki tudlajdonságokat. Csak lekérdezni kellene.
Köszi a like utasítást.
Vagy tudtok jobb megoldást, hogy több tulajdonság rendelhető legyen hozzá?
Még a form-on gondolkodom, azt milyen eszközzel lehetne?
Köszi! -
shev7
veterán
válasz
Louloudaki
#254
üzenetére
biztos vagy benne, hogy a stringek vegigkeresese gyorsabb mint a megfeleloen indexelt tablak joinolasa?
-
tzs84
tag
nem tudom hogy nez ki pontosan az adatbazisod, de az biztos hogy a tulajdonsagokat kulon tablaba kellene rakni
valahogy ugy hogy termek(termek_id,adatok...)
tulajdonsagok(tul_id,tul_neve)
tulajdonsaggal_rendelkezik(termek_id,tul_id)
lekérdezésnél meg joinolod őket az id-k szerint -
-
gyurman
tag
válasz
Louloudaki
#249
üzenetére
Köszi gyors válaszod.
De ez a 115-öt is megtalálja, és 11-nek hiszi?
Az is jó, ha szétszedi. De egyelőre ezek a számok tulajdonságokat takarnak, és ezeket a tulajdonságokat kellene szűrni.
Pl: szürke és fém. ez 113,45 volna, de egy cellában több érték is van.
Köszike! -
whitewolf5
csendes tag
Sziasztok!
Most ismerkedem az MS-SQL Server 2005 Replication lehetőségével. Amiért rá esett a választás, mert lenne egy lehetőség amivel kipróbálhatnám:
- szeretnék két szervert felállítani(main és webes szerver a továbbiakban), mind a kettőre feltenni MS-SQL Server 2005-öt és kiszolgálni vele a klienseket.
-megosztani szeretnénk a webről érkező terhet, és a biztonság miatt is jónak találom
-ami megbonyolítja a dolgokat, az az , hogy mindkettőnek mindig ugyanazon adatokkal kell dolgoznia, egyforma adatszerkezettel
-a main szervert egy alkalmazás(win32 application) bombázná SELECT UPDATE és INSERT halmazok tömkelegével
-a webes sql-server pedig csak a webet szolgálná ki, úgy, hogy mindig frissítené a main sql severt a megfelelő rekordokkal, de csak a lehető legkisebb jogosultsággal rendelkezne a webes sqluser.
Amiért REPLICATION:
-mert biztosítja a folyamatos kontaktot a PUBLISHER és SUBSCRIBER között
-transactionált kapcsolatot biztosít, a két server között
-az üresjárati időt használja fel az eltérések kompenzálására, ugyanakkor ez szinte azonnal megtörténik
a kérdésem az lenne: valakinek van-e már (2napnál)hosszabb tapasztalata ezen lehetőséggel?
[Szerkesztve] -
gyurman
tag
Szervusztok!
Érdekelne, hogyan tudnám megoldani, hogy:
Van egy táblám értékekkel, és azokból az értékekből táblát csinálnék úgy, hogy az értékből mező lesz és a mezőtipus igen/nem lesz?
Köszi! -
DeniBoy
aktív tag
Sziasztok !
Valaki tudna segiteni ?
SQLCE ''data.SDF'' s jelszót kér de nem tudom ) !
hogyan tudnám megnyitni ?
thx ! -
warmaster
aktív tag
Sziasztok!
Van egy gondom, hogy írtam MSSQL2k alatt egy tárolt eljárást, aminek a lépéseit query analyser-ban lefuttatva tökéletesen működött, azonban ha meghívtam az alábbi hibaüzenetet adta ki:
Select error: Attempt to convert data stopped by syntax error in source field.
Nem tudom miért.
Előre is köszi -
Drizzt
nagyúr
SELECT title, director, appearance, fee, 0.95*fee AS newfee,
fee-newfee, duration
from hvkkvi.videos
where sysdate-appearance> 5*365
UNION
SELECT title, director, appearance, fee, 0.9*fee AS newfee,
fee-newfee, duration
from hvkkvi.videos
where sysdate-appearance< 5*365
Itt a newfee-re miért mondja, hogy invalid identifier?
-
tildy
nagyúr
Van egy táblám amiben az alábbi adatok vannak:
id irany
1 Budapest -> Nyíregyháza
2 Nyíregyháza -> Budapest
Na ha én az adott iránynak szeretném az idját, akkor nem ad eredményt:
SELECT id FROM irany WHERE irany='Nyíregyháza -> Budapest'; -
[HUN]Zolee
őstag
válasz
[HUN]Zolee
#230
üzenetére
megoldva
-
[HUN]Zolee
őstag
Üdv.
Az lenne a gondom hogy szeretnék egy ilyen frissítő lekérdezést csinálni :
Update eladas Set sorszam=(Select Max(sorszam) As Max From eladas)+1, Where uj_eladas=True
Amikor access be futtatni akarom azt mondja hogy erre használjak frissítő lekérdezése, hogy írjam át a belső select részt hogy elfogadja?
Miért nem tetszik neki így? -
Jester01
veterán
SELECT title, name FROM videos, members, borrows WHERE videos.videoid = borrows.videoid AND members.memberid = borrows.memberid AND members.dateofbirth = (SELECT min(members.dateofbirth) FROM borrows, members WHERE borrows.videoid=videos.videoid AND borrows.memberid = members.memberid)
Ezzel az lehet még a baj, hogy több azonos korú tag is kivehette a filmet, a fenti lekérdezés ilyenkor visszaadja mindet. Ha csak egy kell, akkor még egy group by-t lehet a végére akasztani.
Érdekességképpen egy hack megoldás, amibe nem kell al-select:
SELECT SUBSTR(MIN(TO_CHAR(members.dateofbirth, 'YYYY-MM-DD') || members.name), 11), videos.title
from borrows, videos, members
WHERE borrows.video=videos.videoid AND borrows.member=members.memberid
GROUP BY videos.title; -
Blaise
veterán
üdv !
Tudtok ajánlani valami neten fellelhető jófajta sql doksit kezdőknek ?
-
Jester01
veterán
válasz
Drótszamár
#224
üzenetére
Ja az megy. Azt hittem másik szerverhez kell kapcsolódni.

-
Drótszamár
őstag
Php online súgójában ezt találtam:
You don't even have to select the database for each connection.
mysql_query(''SELECT * FROM database1.table'',$dbh1);
mysql_query(''SELECT * FROM database2.table'',$dbh2);
Uh valószínű menni fog a dolog. Ha nem akkor majd egy script megoldja. -
rdi
veterán
válasz
Drótszamár
#220
üzenetére
[link]
ilyesmire gondoltam
ja tényleg mySql is
[Szerkesztve] -
Jester01
veterán
válasz
Drótszamár
#217
üzenetére
Nem lesz jó a group by miatt.
-
Jester01
veterán
válasz
Drótszamár
#215
üzenetére
Mysql-re egyelõre csak ezt találtam: [link]
-
rdi
veterán
válasz
Drótszamár
#215
üzenetére
meg kő hozzá valami sql szerver is, nem?
-
Drizzt
nagyúr
Ez alapján kéne még nekem lekérdezni a members.name-t is:
SELECT min(members.dateofbirth), videos.title
from borrows, videos, members
WHERE borrows.video=videos.videoid AND borrows.member=members.memberid
GROUP BY videos.title;
De nincs ötletem hogyan. Annyi biztos, hogy join kell, de hogyan? -
Jester01
veterán
válasz
Drótszamár
#213
üzenetére
Ez adatbáziskezelõtõl függ.
-
Drótszamár
őstag
Sziasztok!
2 adatbázis (nem adattábla) között lehet valahogy adatokat cserélgetni.
Vagy csak itt a táblanevek helyett úgy kell hogy adatázis.táblanév ? -
Jester01
veterán
Izé, ha azokat kell kiírni amiket egy évnél nem régebben vagy soha nem vettek ki, akkor úgyis van where szûrés, szóval a decode-ban már nem kell vele foglalkozni. Ha a dateofcreation dátum típusú, akkor azt lehet, hogy még szöveggé is illene konvertálni.
Kb valami ilyesmire gondoltam:
SELECT ... DECODE(borrows.dateofcreation, NULL, 'SOHA', TO_CHAR(borrows.dateofcreation)) ... WHERE borrows.dateofcreation IS NULL OR borrows.dateofcreation > sysdate - 365 -
Drizzt
nagyúr
Viszont teszek fel kérdést. Van két tábla: filmek, s kölcsönzések, a lekérdezés a következő lenne: 1 évnél nem régebben kivett filmek lekérdezése, illetve amit nem vettek ki, annál soha kiírása. decode-ot, vagy nvl-t kéne használni.
Decodenál lehet olyan feltételt megadni, hogy valaminél nagyobb legyen a kifejezés? Ha igen, hogy?
Mert így nem jó:
decode(borrows.dateofcreation, null, 'SOHA',
>sysdate-365, borrows.dateofcreation)
(mondjuk nem lep meg, de mit lehet ilyenkor kezdeni?) -
Drizzt
nagyúr
Hogy lehet korábbi constraintet módosítani, illetve újat hozzáadni? Elvileg az Alter table xxx add xxx lenne a forma, nem? De valami baja van mindig. :S
-
Jester01
veterán
válasz
concret_hp
#204
üzenetére
Összakapcsolod a 2 táblát (join), csoportosítasz vevő szerint és szűrsz a darabszámra (HAVING COUNT(*) = 2)
-
concret_hp
addikt
van egy ilyen lekérdezésem:
SELECT COUNT(r_szam) AS darabszam
FROM gyart_rendelesek
WHERE rend_ido > add_months(sysdate,-12)
GROUP BY vevo;
ez a vevők rendelésszámát adja vissza és van egy ilyen:
SELECT gyart_vasarlok.vevo, gyart_vasarlok.adoszam, gyart_vasarlok.letrehozva
FROM gyart_vasarlok
WHERE ... ;
ez pedig a vásárlóim adatait kérdezi le, akik bizonyos feltételnek megfelelnek. azt szeretném, hogy mondjuk azok a vásárlók legyenek kilistázva akiknek 2 megrendelése van de ha ezt írom:
SELECT gyart_vasarlok.vevo, gyart_vasarlok.adoszam, gyart_vasarlok.letrehozva
FROM gyart_vasarlok
WHERE (SELECT COUNT(r_szam) AS darabszam
FROM gyart_rendelesek
WHERE rend_ido > add_months(sysdate,-12)
GROUP BY vevo)=2;
az ezt írja:
WHERE (SELECT COUNT(r_szam) AS darabszam
*
Hiba a(z) 3. sorban:
ORA-01427: single-row subquery returns more than one row
szóval valaki mondja meg plz, hogy hogyan kell
-
Jester01
veterán
-
aton-hawk
tag
Sziasztok!
Egy újabb kérdés..:
Ezek a táblák vannak:
ANYAG {azonosító, a_név, mért_egys, készlet, átl_ár}
BESZERZÉS {dátum, azonosító, mennyiség, be_ár, áfa_sz}
TERMÉK {kód, t_név, akt_ár}
MINŐSÍTÉS {alsó, szöveg}
SZERKEZET {kód, azonosító, menny}
ÁRVÁLT {kód, mikor, régi_ár}
PARTNER {pkód, p_név, irsz, hely, utca, tel}
REND_FEJ {rendszám, kelt, hat_idő, pkód, végösszeg}
REND_TÉTEL {rendszám, kód, r_menny, kész}
ENGEDMÉNY {határ, százalék}
És ez pedig a kérdés: Kik azok a partnerek, akik legalább 1 éve nem rendeltek.
Remélem ebben még tudtok segíteni.
Előre is köszi.
Új hozzászólás Aktív témák
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Házimozi belépő szinten
- CADA, Polymobil, és más építőkockák
- iPhone topik
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- S.T.A.L.K.E.R. 2: Heart of Chornobyl
- exHWSW - Értünk mindenhez IS
- Kritikát kapott a Nintendo konzolgyilkos felhasználói szerződése
- Milyen routert?
- Battlefield 6
- További aktív témák...
- Apple Thunderbolt Display (picit beégős!)
- Telefon felvásárlás!! Huawei P20 Lite/Huawei P20/Huawei P30 Lite/Huawei P30/Huawei P30 Pro
- AKCIÓ! Lenovo Legion Go S 32GB/1TB kézikonzol garanciával hibátlan működéssel
- 100/100! - 0 Perc! WD BLACK SN850P 2 TB! Playstation 5
- Samsung Galaxy S23+ / 8/256GB / Kártyafüggetlen / 12Hó Garancia
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest




A te javaslatodra kezdtem megnézni a JOIN témakört, mert korábban nem ismertem, és elnézést, ha félreérthető volt 

És tessék. Sokszor nem gondolkozok ilyeneken, csak behelyettesítek mint egy gép. Egyébiránt teljesen igazad van.




