SQL kérdések - Szoftverfejlesztés fórum

üzenetek

hozzászólások


Jester01
(veterán)
Blog

Nem lesz jó a group by miatt.


rdi
(veterán)
Blog

[link]
ilyesmire gondoltam
ja tényleg mySql is :)

[Szerkesztve]


Drizzt
(nagyúr)
Blog

Pontosan, az csak akkor működne, ha nem lenne ott a min.


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.


Jester01
(veterán)
Blog

Szóval marad az al-select.


Jester01
(veterán)
Blog

Ja az megy. Azt hittem másik szerverhez kell kapcsolódni. :B


Drizzt
(nagyúr)
Blog

Nem boldogulok ezzel sehogy sem. :(


Blaise
(veterán)
Blog

üdv !

Tudtok ajánlani valami neten fellelhető jófajta sql doksit kezdőknek ? :R


Jester01
(veterán)
Blog

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;


[HUN]Zolee
(senior tag)

Ü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?


[HUN]Zolee
(senior tag)

megoldva


tildy
(nagyúr)
Blog

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';



vakondka
(őstag)
Blog

Szia,

Élkészítettem a táblát és nekem sikeresen lefutott ez a lekérdezés:

SELECT id FROM `irany` WHERE `irany`='Nyíregyháza -> Budapest'

amúgy tetszett a példa lekérdezés mert én állandóan a 2 város között utazgatok :)


tildy
(nagyúr)
Blog

Hm, ezek szerint a tábla karakterkódolásával lehet baj?
Nekem ezt adja: Empty set (0.00 sec)


Forest_roby
(őstag)

Valószínűleg! Ennek így működnie kell.
Én is sokat $zoptam az utf-8 és iso-8.... kodolásokkal. Főleg az volt nálam a gáz, ha win alatt írtam vmit és azt utánna a linuxos serveremen futattam. :(


vakondka
(őstag)
Blog

Próbálj ki egy LIKE-os lekérdezést hogy megtalálja-e az ékezetes karaktereket.
pl SELECT id from `irany` WHERE `irany` LIKE '%Nyíregyháza%'

erre vissza kell adnia minden sort, amiben szerepel Nyíregyháza


tildy
(nagyúr)
Blog

Működik, thx.


Drizzt
(nagyúr)
Blog

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? :(


Lortech
(addikt)

Első blikkre az lehet a gond, hogy nem használhatod fel az alias nevet a fee - newfee-ben. Szóval fee - 0.95*fee próbáld ki.


VladimirR
(nagyúr)

akkor mar egyszerubb (mondjuk imho egyebkent is) a fee*.05, illetve fee*.1

[Szerkesztve]

üzenetek