Kezdőoldal » Számítástechnika » Programozás » Egy SQL lekérdezésben segítene...

Egy SQL lekérdezésben segítene valaki? Részletek lent.

Figyelt kérdés

Van két táblám:

ESEMÉNYEK (azon(PKey), megnevezes, hely, tipus)

Egy esemény több napig is tarthat:

ESEM_DATUMOK (esem_azon(idegen kulcs), dátum)


Olyan lekérdezést szeretnék csinálni, amiben kiíratom az események táblából azokat a sorokat(eseményeket) amik megadott típusúak megadott helyen és napon vannak.


SELECT * FROM ESEMENYEK WHERE hely="xy" AND tipus="yz" ... és a napot hogy oldom meg (az a másik táblában van)?


Tudom, hogy lehet egyszerre két táblából csinálni lekérdezést, de nem tudom hogyan.


Nagyon hálás lennék, ha valaki megoldaná a konkrét példát nekem.


Ha valakiben meglenne a segítő szándék, csak nem elég érthető a kérdés, akkor lécci jelezze, és megpróbálom jobban elmagyarázni.


2010. jan. 14. 17:04
 1/8 anonim ***** válasza:

Már régen írtam SQL-t, de valami ilyesmi, ha más nem szólna hozzá...


SELECT tipus, hely, datum FROM (Esemenyek INNER JOIN Esem_datumok) WHERE Esemenyek.azon = Esem_datumok.esem_azon;

2010. jan. 14. 18:22
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:

Az előző majdnem jól írta,de JOIN esetén nem WHERE,hanem ON amit használnak.


pl


SELECT megnevezes,tipus, hely, datum FROM Esemenyek,Esem_datumok WHERE Esemenyek.azon = Esem_datumok.esem_azon


vagy


SELECT megnevezes,tipus, hely, datum FROM Esemenyek INNER JOIN Esem_datumok ON Esemenyek.azon = Esem_datumok.esem_azon

2010. jan. 15. 09:31
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:
Kösz, igaz! :-)
2010. jan. 15. 09:44
Hasznos számodra ez a válasz?
 4/8 A kérdező kommentje:

Köszönöm a válaszokat, de a sztem, amit írtatok az nem teljesen oldja meg a problémám.

Leírok egy konkrét példát:


ESEMÉNYEK tábla:

azon megnevezés hely tipus

1 Xy találkozó BP találkozó

2 XY tárgyalás Vác tárgyalás

3 YZ tárgyalás Pécs tárgyalás


ESEM_DATUMOK tábla:

esem_azon Dátum

1 2010.01.12

1 2010.01.13

2 2010.01.16

2 2010.01.17


Tehát például szeretném lekérdezni azokat ez eseményeket amiknek típusa tárgyalás, helye pécs és tartozik hozzá 2010.01.16.ai dátum. (minden eseményhez több dátum is tartozik, ezért kell a dátumokat külön táblában tárolni)


Ezt a konkrét példát hogy oldanátok meg?

Azért még egyszer köszi, hogy válaszoltatok :)

2010. jan. 15. 19:25
 5/8 A kérdező kommentje:
Ez a szenya kiszedte a szóközöket a táblázatocskákból amit csináltam :( Így nem túl áttekinthető, mert elcsúsztak az oszlopok, azért lécci nézzétek meg. Köszi
2010. jan. 15. 19:28
 6/8 anonim ***** válasza:

2. vagyok


Szóval a gond az,hogy egy dátumot tárolsz,pedig kettő kéne egy kezd_datum,meg egy veg_datum mező.


Utána lehet ilyent csinálni,hogy


SELECT * FROM események INNER JOIN esem_datumok ON esem_datumok.esem_azon=események.azon WHERE

(kezd_datum<="2010.01.08") AND (veg_datum>="2010.01.08")


ez lekérdezi az eseményeket adott napra..

2010. jan. 16. 10:16
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:

Látatlanban esetleg:

SELECT * FROM Esemenyek INNER JOIN Esem_datumok

ON Esemenyek.azon = Esem_datumok.esem_azon

WHERE hely = "Pécs" AND tipus = "tárgyalás" AND dátum = "2010.01.16";

2010. jan. 16. 11:47
Hasznos számodra ez a válasz?
 8/8 A kérdező kommentje:
Köszönöm szépen a válaszokat, asszem így már működni fog. Örök hála érte
2010. jan. 16. 13:09

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!