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..
Moderátor: Mods_senior
- CZechBoY
- Master Level 9.5

- Příspěvky: 8813
- Registrován: 20 srp 2008 14:02
- Bydliště: Brno
- Kontaktovat uživatele:
(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
- melior
- Level 3.5

- Příspěvky: 977
- Registrován: 20 zář 2007 15:04
- Bydliště: Brno
- Kontaktovat uživatele:
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é
-
d1amond
- člen HW spec týmu
- Příspěvky: 16120
- Registrován: 26 kvě 2008 10:14
- Bydliště: České Budějovice
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: 20 srp 2008 14:02
- Bydliště: Brno
- Kontaktovat uživatele:
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
-
d1amond
- člen HW spec týmu
- Příspěvky: 16120
- Registrován: 26 kvě 2008 10:14
- Bydliště: České Budějovice
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
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: 20 srp 2008 14:02
- Bydliště: Brno
- Kontaktovat uživatele:
Re: (PHP+MySQL) Vybrání z tabulky pokud je v druhé tabulce..
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
