Autor | Zpráva | ||
---|---|---|---|
Petr1234 Profil * |
#1 · Zasláno: 17. 10. 2006, 10:09:52
Cau,
mam v databazi dve tabulky. V jedne mam ulozene reference a v druhe jsou ulozene fotky k danym referencim na ktere se odkazuji pomoci cisla radnu dane reference. Chtel bych ale vypsat na webu pouze ty reference, ktere maji nejakou fotku. Proste nejak v tom SQL dotazu ty tabulky propojit at mi vrati jen ty reference, ktere maji fotky. Diky Petr |
||
JersyWoo Profil |
#2 · Zasláno: 17. 10. 2006, 10:24:29
Podívej se na mm.gene.cz na na funkci JOIN
|
||
ninja Profil |
#3 · Zasláno: 17. 10. 2006, 10:25:21
tak se hod strukturu tabulek.
Obecne te zajima sql prikaz JOIN. Bude to neco na zpusob: SELECT * FROM tabulka1 JOIN tabulka2 ON tabulka1.foreignkey = tabulka2.primarykey; |
||
JersyWoo Profil |
#4 · Zasláno: 17. 10. 2006, 10:46:34
Ono je možné i tvrdé napojení:
SELECT tabulka1.sloupecx, tabulka2.sloupecx FROM tabulka1,tabulka2 WHERE tabulka1.foreignkey = tabulka2.primarykey; |
||
Petr1234 Profil * |
#5 · Zasláno: 17. 10. 2006, 11:14:07
No takze proto, abych vypsal jen ty, co maji v tabulce s fotkama nejake fotky jsem pouzil:
SELECT reference.id FROM reference,images WHERE reference.id=images.parent_id GROUP BY reference.id No ale jak udelam opak? Ze vypisu jen ty co fotku NEMAJI? Zkusil jsem to zmenit na: ... WHERE reference.id!=images.parent_id GROUP BY ... ale to vypisuje uplne vsechny i s fotkama tak i bez... |
||
finc Profil |
#6 · Zasláno: 17. 10. 2006, 11:20:01
Pro ty, co maji:
SELECT a.* FROM table AS a INNER JOIN tableB AS b ON a.id = b.table Pro ty co nemaji: SELECT a.* FROM table AS a LEFT JOIN tableB AS b ON a.id = b.table WHERE b.table IS NULL Možností je spousty :) |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0