Autor Zpráva
tKej
Profil
Pro většinu z Vás to bude primitivní dotaz, ale s MySQL začínám, pls poraďte ...
Mám dvě tabulky, v jedné (nazvu jí table1) jsou uložená id čísla na druhou tabulku (table2) ty ID jsou v extra sloupcích, v některých je NULL, v druhé tabulce (table2) jsou uloženy údaje jež potřebuji vypsat, potřebuju dotaz na databázi který vypíše jen ty záznamy jež jsou v řádku s id z první tabulky(je tam 20 sloupců s těmi id)
Kajman_
Profil *
Nechcete si přidat další tabulku s vazbou mezi první a druhou tabulkou a daným typem spojení 1-20. Dělat 20 sloupců se stejným významem je takové divné. Určitě se pak dá napsat lepší dotaz a nemusíte dávat 19x or.
tKej
Profil
Právě že už toto je jakási mezi tabulka, velá situace je:
1. tabulka: v ní jsou uloženy telefony
2. tabulka: v ní jsou uloženy informace o příslušenství (název, popis, obrázek)
3. tabulka: určuje která příslušenství jsou k jakým telefonům

Pomocí toho OR lze dosáhnou jak jsem psal?
Kajman_
Profil *
Takhle se to dá provázat

select * from tabulka1 t1,tabulka2 t2,tabulka3 t3
where t1.id_telefonu=t3.id_telefonu and t3.id_prislusenstvi=t2.id_prislusenstvi

Ale nevím, čeho chcete dosáhnout, protože ten první dotaz moc nedává smysl s tímhle dalším upřesněním.
ninja
Profil
tKej: CHapu to dobre ze jedna radka v prislusensstvi muze odpovidat vice telefonum a obracene? Jedna se tedy o klasickou M:N vazbu mezi tabulkou telefony a prislusenstvi. Spravna konstrukce ma byt

TELEFONY:
tefon_id
cislo
vyrobce
...

PRISLUSENSTVI:
prislusenstvi_id
nazev
obrazek
...

TELEFONY2PRISLUSENSTVI:
telefon_id
prislusenstvi_id


a dotaz:

SELECT t.*, p.* FROM telefony t LEFT JOIN telefony2prislusenstvi t2p ON t.telefon_id = t2p.telefon_id LEFT JOIN prislusenstvi p ON t2p.prislusenstvi_id = p.prislusenstvi_id WHERE t.telefon_id = $id_telefonu;
tKej
Profil
ninja
Takhle tu databázi mám, jen s tím jestli v TELEFONY2PRISLUSENSTVI: může být jeden sloupec s id_tlefonu a více sloupců id_prislusenstvi
ten dotaz zkusím
tKej
Profil
ninja
Prostudoval jsem manuál k MySQL (blbá anglina..:D) a měl jsi úplnou pravdu s tou databází, upravil jsem jí a ten dotaz jsem už také sestavil:
$vys=mysql_query("SELECT p.* FROM prislu p LEFT JOIN spoj s ON p.id_prislu = s.prislu_spoj WHERE s.tel_spoj = '".$idmobily."'");
Díky..
Toto téma je uzamčeno. Odpověď nelze zaslat.

0