MYSQL SELECT problémába ütköztem?
Van 2 táblám, és benne az alábbi mezők:
users[username,name,jelszo]
torzs[username,postcode,city,address,tel]
Elsődleges kulcs a username.
Ha bekérem a nevet ami a users táblában van és szeretném kiíratni a torzs-ből a címet és a telefonszámot, ezt milyen SELECT parancs-al tudom megtenni?
Select username, city, adress, tell
From users, torzs
While users.username = torzs.username
Ha jól emlékszem, bár öt éve nem programoztam szinte semmit, MySql-t pedig k* rég nem használtam.
#2 a where lesz az amit te keresel.. :)
"Ha bekérem a nevet ami a users táblában van és szeretném kiíratni a torzs-ből a címet és a telefonszámot, ezt milyen SELECT parancs-al tudom megtenni?"
Nem igazán értem a megközelítést bár én ORM-ben gondolkodok szóval ne is menjünk bele.
A fenti példa is működik, ha a where-re cseréled, de érdemes utána olvasnod a különböző join-oknak.
A SELECT-hez oda kell írni a tábla nevét is, mert ha két azonos oszlopnév is van az összekapcsolt táblákban, akkor nem lehetne eldönteni melyikre gondolt a tisztelt user.
SELECT u.name, t.city, t.address, t.tell
FROM users u, torzs t
WHERE u.username=t.username;
Az "users u" az ugyanaz, mint az "users AS u", alias, amire utána hivatkozhatsz.
Igen így már jobb, de kiírja az összes nevet.
Azt hogyan tudom megcsinálni hogy csak azt a nevet és adatait írja ki amit előtte egy input-al bekérek?
Hát valójában teljesen felesleges akkor bekérdezned a user táblába még egyszer, hiszen elég lenne a where feltételbe átadnod a felhasználónevet. (prepared statement!!!! sql injection-re vigyázni.)
Deeeeeeeee.. csak úgy mellékesen: miért tárolod ezeket az adatokat külön táblában, ha 1:1 az összerendelés?
#8 jól mondja. A külön táblának csak akkor van értelme, ha nem rendelkezhető össze a két tábla 1-1-el. Például:
Ha egy embernek a címe, neve, stb.. 1-1 adata kell, akkor az egy tábla. Írok egy példát arra, amennyiben több tábla kell:
Példa: könyvtár
Három tábla:
Könyvek: a könyvekre vonatkozó információ (könyv ID-ja, szerző neve, könyv címe, kiadás dátuma, stb..)
Emberek: ügyfélszám, név, cím, telefonszám, stb...
Kivétel: ügyfélszám, könyvID, dátum
Itt már van értelme a több táblának, és itt is tudsz lekérdezni adatokat. Pl. hányan/kik vettek ki Jókai Mórtól könyveket 2010 és 2020 között.
#8 #9
Igen igazatok van egyszerűbb és észszerűbb is egy táblával megoldanom, már át is írtam és így már nincs gond a lekérdezéssel.
Ment a zöld pipa mindkettőtöknek.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!