[ Príspevkov: 12 ] 
AutorSpráva
Offline

Skúsený užívateľ
Skúsený užívateľ
MySQL SELECT IN() a rovnake hodnoty

Registrovaný: 24.09.06
Prihlásený: 15.07.23
Príspevky: 1427
Témy: 37 | 37
Bydlisko: Bratislava
NapísalOffline : 25.08.2009 13:52 | MySQL SELECT IN() a rovnake hodnoty

Viem ze nazov temy ma nulovu vypovednu hodnotu, ale netusim ako to vysvetlit bez prikladu.

Posielam na databazu taketo query:
Kód:
SELECT nazov FROM tabulka WHERE id IN (1, 2, 3) ORDER BY FIELD(id, 1, 2, 3)

dostanem vysledok nazov1, nazov2, nazov3.

No kedze cast query v IN() je dynamicky generovana, moze nastat napr. takato situacia:
Kód:
SELECT nazov FROM tabulka WHERE id IN (1, 1, 2) ORDER BY FIELD(id, 1, 1, 2)

dostanem vysledok nazov1, nazov2 - teda nazov sa vrati iba pre kazde unikatne ID - ja by som potreboval nejako toto query upravit aby som dostal pozadovany vysledok nazov1, nazov1, nazov2.


Offline

Skúsený užívateľ
Skúsený užívateľ
MySQL SELECT IN() a rovnake hodnoty

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96 | 96
NapísalOffline : 25.08.2009 14:12 | MySQL SELECT IN() a rovnake hodnoty

Z databázy by si mal vyťahovať iba to, čo naozaj potrebuješ. A potom to u seba nejak pospájať.


_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
MySQL SELECT IN() a rovnake hodnoty

Registrovaný: 17.10.06
Prihlásený: 08.11.14
Príspevky: 37
Témy: 1 | 1
Bydlisko: blava
NapísalOffline : 25.08.2009 14:27 | MySQL SELECT IN() a rovnake hodnoty

ide o spájanie tabuliek, čiže potrebujeme ten záznam 2x keďže môže vyhovovať dvom záznamom z druhej tabuľky


Offline

Skúsený užívateľ
Skúsený užívateľ
MySQL SELECT IN() a rovnake hodnoty

Registrovaný: 29.10.07
Prihlásený: 27.10.23
Príspevky: 1395
Témy: 30 | 30
Bydlisko: Bratislava
NapísalOffline : 25.08.2009 14:37 | MySQL SELECT IN() a rovnake hodnoty

A preco to s tou druhou tabulkou neprevaizete? tam by sa vam zaznamy bezpecne rozmnozili


_________________
PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME
Mobil: Xiaomi POCO F2 PRO
Offline

Užívateľ
Užívateľ
MySQL SELECT IN() a rovnake hodnoty

Registrovaný: 17.10.06
Prihlásený: 08.11.14
Príspevky: 37
Témy: 1 | 1
Bydlisko: blava
NapísalOffline : 25.08.2009 14:44 | MySQL SELECT IN() a rovnake hodnoty

toto bolo skor zjednodusene napisany problem, v skutocnosti je to podstatne rozsiahlejsie
ide o to, ze potrebujeme z db aj duplicitne data, teda nejaka obdoba tohto sql, ktora nam nevynecha data a pri IN('1','1','2') vrati tri riadky


Offline

Skúsený užívateľ
Skúsený užívateľ
MySQL SELECT IN() a rovnake hodnoty

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96 | 96
NapísalOffline : 25.08.2009 14:51 | MySQL SELECT IN() a rovnake hodnoty

Toto s sqlkom nespravíš, a ak áno, tak nie efektívne a rýchlo. Existuje nejaká šanca, že by ti stačili iba id-čka?


_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 20.12.08
Prihlásený: 02.02.20
Príspevky: 28
Témy: 5 | 5
Bydlisko: Košice
NapísalOffline : 25.08.2009 14:54 | MySQL SELECT IN() a rovnake hodnoty

Kód:
SELECT  nazov
FROM    (
        SELECT  1 AS x
        UNION ALL
        SELECT  1 AS x
        UNION ALL
        SELECT  2 AS x
        ) foo
JOIN    tabulka
ON     tabulka.id = foo.x


Offline

Skúsený užívateľ
Skúsený užívateľ
MySQL SELECT IN() a rovnake hodnoty

Registrovaný: 29.10.07
Prihlásený: 27.10.23
Príspevky: 1395
Témy: 30 | 30
Bydlisko: Bratislava
NapísalOffline : 25.08.2009 15:41 | MySQL SELECT IN() a rovnake hodnoty

Ak sem nepopisete podrobnejsie strukturu tabuliek a data ktore potrebujete, tak vam asi nikto poriadne neporadi.
Stale si ale myslim ze previazanie tabuliek problem riesi (ak su v jednej tabulke tie data duplicitne a v druhej nie).


_________________
PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME
Mobil: Xiaomi POCO F2 PRO
Offline

Užívateľ
Užívateľ
MySQL SELECT IN() a rovnake hodnoty

Registrovaný: 17.10.06
Prihlásený: 08.11.14
Príspevky: 37
Témy: 1 | 1
Bydlisko: blava
NapísalOffline : 25.08.2009 17:58 | MySQL SELECT IN() a rovnake hodnoty

zjednodusene:
dve tabulky: 1. osoby, 2. zameranie

osoby:
id
meno

zameranie:
osoba_id
zameranie
priorita //urcuje poradie, vyssia prioirita je vyssie

v SQL uz mam ID osob, ktore chcem (teda mam ich ID v premennej):
Kód:
SELECT meno FROM osoby WHERE id IN ($ids) ORDER BY FIELD(id, $ids)
// $ids = 1,1,3

v dalsom kroku potom zistujem zamerania
potrebujem vypis (do pola) kde bude osoba.meno a jej zameranie (ale jedna osoba ma aj viac zamerani

dakujem za namety


Offline

Správca fóra
Správca fóra
MySQL SELECT IN() a rovnake hodnoty

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 25.08.2009 19:44 | MySQL SELECT IN() a rovnake hodnoty

join


_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 20.12.08
Prihlásený: 02.02.20
Príspevky: 28
Témy: 5 | 5
Bydlisko: Košice
NapísalOffline : 25.08.2009 20:43 | MySQL SELECT IN() a rovnake hodnoty

Kód:
SELECT meno, zameranie
FROM osoby, zameranie
WHERE osoba_id
IN ( 1, 1, 3 )
AND id = osoba_id


Offline

Užívateľ
Užívateľ
MySQL SELECT IN() a rovnake hodnoty

Registrovaný: 17.10.06
Prihlásený: 08.11.14
Príspevky: 37
Témy: 1 | 1
Bydlisko: blava
NapísalOffline : 25.08.2009 20:48 | MySQL SELECT IN() a rovnake hodnoty

nakoniec som to vyriesil klasickym spojenim tabuliek (vyhol som sa tej casti s IN() )

dakujem za rady


 [ Príspevkov: 12 ] 


MySQL SELECT IN() a rovnake hodnoty



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Priradenie hodnoty do input/select

v JavaScript, VBScript, Ajax

4

593

05.06.2011 11:04

chrono

V tomto fóre nie sú ďalšie neprečítané témy.

MySQL Select

v Databázy

2

432

07.04.2014 6:52

XOLOO

V tomto fóre nie sú ďalšie neprečítané témy.

select z mysql

v PHP, ASP

4

506

09.10.2007 21:23

bruno.b

V tomto fóre nie sú ďalšie neprečítané témy.

MySQL - SELECT JOIN

v Databázy

9

835

21.07.2017 18:19

lukas15

V tomto fóre nie sú ďalšie neprečítané témy.

mysql select pre autocomplete

v Databázy

0

288

17.06.2013 12:02

general667

V tomto fóre nie sú ďalšie neprečítané témy.

MySQL select date between

v Databázy

3

382

05.06.2013 20:48

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

ako zmenit vystup - select mysql

v PHP, ASP

3

573

29.07.2008 8:02

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

mysql: 2 tabulky - jeden select

v Databázy

16

754

09.11.2014 22:03

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

Z mySql do <select>

v PHP, ASP

13

630

02.05.2009 23:32

suchy

V tomto fóre nie sú ďalšie neprečítané témy.

SELECT z MySQL db medzi dvoma casmi

v Databázy

9

2513

11.07.2018 13:51

jumper

V tomto fóre nie sú ďalšie neprečítané témy.

Automaticke doplnanie <select> po kliknuti , vyber z MySql

v JavaScript, VBScript, Ajax

1

481

22.05.2015 12:44

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

P: HP ProOne 440 G5 23.8-in All-in-one PC

v Predám

0

157

21.02.2023 7:58

myso99

V tomto fóre nie sú ďalšie neprečítané témy.

pozadie stale rovnake

v HTML, XHTML, XML, CSS

3

576

04.01.2008 0:34

kmsa

V tomto fóre nie sú ďalšie neprečítané témy.

3 rovnake tablety

v Notebooky a netbooky

29

736

02.10.2012 15:29

maugggly

V tomto fóre nie sú ďalšie neprečítané témy.

2 x rovnake pc

v PC skrinky a zdroje

2

363

09.03.2017 16:11

nitronus

V tomto fóre nie sú ďalšie neprečítané témy.

Sú tieto HD6770 rovnaké?

v ATI/AMD grafické karty

3

471

29.08.2012 20:42

BOBO415



© 2005 - 2024 PCforum, edited by JanoF