Zdravim,
potřeboval bych vybrat z tabulky registrace všechny sloupce, ale pod podmínkou že v tabulce pratele je sloupec pritel roven 1 a prezdivka1 nebo prezdivka2 stejná jako přihlášený uživatel, pro příklad můžeme počítat třeba s CZ
vůbec nevím jak na to bohužel :(
(PHP+MySQL) Vybrání z tabulky pokud je v druhé tabulce.. Vyřešeno
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
(PHP+MySQL) Vybrání z tabulky pokud je v druhé tabulce..
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Re: (PHP+MySQL) Vybrání z tabulky pokud je v druhé tabulce..
Select all FROM tabulka1.sloupecA where tabulka.1 sloupecY equals tabulka2.sloupecZ and ...
pisu to pseudokodem z hlavy, protoze SQL uz mam nejakou dobu za sebou, ale myslenka je snad srozumitelna
pisu to pseudokodem z hlavy, protoze SQL uz mam nejakou dobu za sebou, ale myslenka je snad srozumitelna
if (count(legs)==6) bug
else feature;
Dvě monarchie v nejednotné Evropě...
Dvě koloniální říše v neklidném světě 23. století...
Jaderné mocnosti s historií osmi vzájemných válek...
Federativna kraljevina Jugoslavija a Císařství České
else feature;
Dvě monarchie v nejednotné Evropě...
Dvě koloniální říše v neklidném světě 23. století...
Jaderné mocnosti s historií osmi vzájemných válek...
Federativna kraljevina Jugoslavija a Císařství České
-
- člen HW spec týmu
-
Elite Level 12
- Příspěvky: 16119
- Registrován: květen 08
- Bydliště: České Budějovice
- Pohlaví:
- Stav:
Offline
Re: (PHP+MySQL) Vybrání z tabulky pokud je v druhé tabulce..
Kód: Vybrat vše
-- Bylo by lepší znát strukturu tabulek, resp.datový model
-- přijde mi jako nesmysl, povolit dva unikátní údaje (prezdivka1 a 2)
select
registrace.*
from pratele
-- vyberu shody z tabulky registrace, ktere odpovidaji
-- stejnému údaji v pratele (stejné id = unikátní klíč)
left join registrace on pratele.idRegUzivatel = registrace.idRegUzivatel
-- a splňují podmínku
where (pratele.prezdivka1 = idLogUser or pratele.prezdivka2 = idLogUser)
and pratele.pritel = 1
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?
Chcete si nechat sestavit nový počítač?
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: (PHP+MySQL) Vybrání z tabulky pokud je v druhé tabulce..
ok uvedu příklad:
mám tu nějakýho CZechBoYe který má uzavřený přátelství třeba s d1amondem
tabulka pratele:
id | prezdivka1 | prezdivka2 | potvrzeno | pritel
1 | CZechBoY |d1amond|1|1
registrace:
id | prezdivka |atd..
54|CZechBoY|.....
86|d1amond|...
jestli chápete ?
asi to udělám jednodušeji že tabulka pratele bdue vypadat takto:
id | prezdivka1 | prezdivka2 | potvrzeno | pritel
1 | czechboy | d1mond|1|1
2|d1amond|czechboy|1|1
to by pak bylo lehčí že ?
mám tu nějakýho CZechBoYe který má uzavřený přátelství třeba s d1amondem
tabulka pratele:
id | prezdivka1 | prezdivka2 | potvrzeno | pritel
1 | CZechBoY |d1amond|1|1
registrace:
id | prezdivka |atd..
54|CZechBoY|.....
86|d1amond|...
jestli chápete ?
asi to udělám jednodušeji že tabulka pratele bdue vypadat takto:
id | prezdivka1 | prezdivka2 | potvrzeno | pritel
1 | czechboy | d1mond|1|1
2|d1amond|czechboy|1|1
to by pak bylo lehčí že ?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
-
- člen HW spec týmu
-
Elite Level 12
- Příspěvky: 16119
- Registrován: květen 08
- Bydliště: České Budějovice
- Pohlaví:
- Stav:
Offline
Re: (PHP+MySQL) Vybrání z tabulky pokud je v druhé tabulce..
Nejsem vývojář, tak jsou v návrhu tabulek jistě nedostatky, ale výsledek je odpovídající. Syntaxe MS SQL a MySQL budou skoro stejné.
A výsledky - každý select odpovídám pořadím tabulce z obrázku:
Kód: Vybrat vše
/*Tabulka REGISTRACE*/
--drop table registrace
create table registrace
( --prim. key
idRegistrace int primary key identity(1,1),
--kod uzivatele = nick
kod_uziv varchar(50) unique not null
)
/*Tabulka PRATELE*/
--drop table pratele
create table pratele
(
idPratele int primary key identity(1,1),
-- doplneni id uzivatele, ktery si pridava pratele
idRegistrace int not null,
-- id pratel
idPritel int not null,
-- je potvrzeny 0=ne, 1=ano
aktivni smallint default 0
)
-- naplneni tabulky REGISTRACE
insert into registrace
values ('Pepa')
insert into registrace
values ('Franta')
insert into registrace
values ('Jana')
-- naplneni tabulky PRATELE - vazby
insert into pratele
values (1,2,1) -- Pepa s Frantou
insert into pratele
values (2,3,1) -- Franta s Janou
insert into pratele
values (3,1,1) -- Jana s Pepou
insert into pratele
values (1,3,1) -- Pepa s Janou
A výsledky - každý select odpovídám pořadím tabulce z obrázku:
Kód: Vybrat vše
-- Tabulka REGISTRACE
select * from registrace order by idRegistrace
-- Tabulka PRATELE
select * from pratele
-- Vysledny vyber pratel Pepi
select
prihlasen.kod_uziv as prihlaseny_uzivatel,
registrace.kod_uziv as pratele
from pratele
-- pripojeni tabulky Registrace, abych videl kod_uziv
left join registrace on pratele.idPritel = registrace.idRegistrace
left join registrace prihlasen on pratele.idRegistrace = prihlasen.idRegistrace
where
-- Pepa jako prihlaseny
pratele.idRegistrace = 1
-- jen aktivni pratele
and pratele.aktivni = 1
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?
Chcete si nechat sestavit nový počítač?
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: (PHP+MySQL) Vybrání z tabulky pokud je v druhé tabulce.. Vyřešeno
no už to mám jinak, ale dík za snahu :-)
místo přezdívek používám ID uživatele takže je to vyřešený
fajfk
místo přezdívek používám ID uživatele takže je to vyřešený
fajfk
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti