[mysq] select id die aan 2 voorwaardes voldoet

Pagina: 1
Acties:

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 17:19

Pelle

🚴‍♂️

Topicstarter
Zie onderstaande tabel:
code:
1
2
3
4
5
6
7
8
9
+----+------+------+
| id | var1 | var2 |
+----+------+------+
| 1  | 2    | 4    |
| 2  | 3    | 2    |
| 3  | 3    | 1    |
| 4  | 1    | 2    |
| 5  | 3    | 4    |
+----+------+------+

Ik wil met één query alle waardes uit de kolom 'var1' ophalen, waarvoor geldt dat in kolom 'var2' zowel de waarde 1 als de waarde 2 staat.
In dit geval moet die query alleen 3 returnen, aangezien er zowel de combinatie 3-2 als de combinatie 3-1 bestaat.

Kan dit in MySQL? Zo ja, gaat het dan ook werken als er nog meer voorwaarden zijn waaraan voldaan moet worden (bijvoorbeeld 1, 2 en 4)?

Natuurlijk is het wel mogelijk om te kijken of hij aan één van die voorwaardes voldoet, maar dat zou altijd meerdere query's tot gevolg hebben en vervolgens een pittig stuk PHP waarbij alle uitkomsten van die query met elkaar vergeleken moeten worden.

  • Major Asshole
  • Registratie: Mei 2000
  • Laatst online: 24-06-2024

Major Asshole

Are there any more Asholes?

Het zal vast kunnen, maar ik kan niet uit je vraag halen wat je nu bedoelt. Je kan in ieder geval met MySQL (of eigenlijk in elke SQL) gewoon gebruik maken van "and" en "or" statements.

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Ja het kan, echter in dit geval moet je je gaan afvragen of die query wel werkelijk nut heeft. zoja dan zou die ID in dit geval geen nut hebben.
code:
1
Select a.var1 from mytable a, mytable b where a.var1=b.var1 and a.var2=1 and b.var2=2

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

iets van:

select tbl1.var1
from tabel tbl1
, tabel tbl2
where tbl1.var1 = tbl2.var1
and tbl1.var2 = 1
and tbl2.var2 = 2
group by tbl1.var1

Verwijderd

Iets te laat :)

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op woensdag 19 september 2001 13:31 schreef SGBas het volgende:
iets van:

select tbl1.var1
from tabel tbl1
, tabel tbl2
where tbl1.var1 = tbl2.var1
and tbl1.var2 = 1
and tbl2.var2 = 2
group by tbl1.var1
Te laat :+

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 17:19

Pelle

🚴‍♂️

Topicstarter
Op woensdag 19 september 2001 13:30 schreef dusty het volgende:
Ja het kan, echter in dit geval moet je je gaan afvragen of die query wel werkelijk nut heeft. zoja dan zou die ID in dit geval geen nut hebben.
Tabel bestaat al; 't is een linktabel en in principe moeten die twee kolommen al primary key kunnen zijn (want uniek), maar goed, ik heb die tabel dus niet gebouwd.

De linker kolom is een kroeg, de rechterkolom is een faciliteit. De bedoeling was dus om -met een zoekactie- alle kroegen waar ze bijvoorbeeld een TV én een terras hebben, te returnen.
code:
1
Select a.var1 from mytable a, mytable b where a.var1=b.var1 and a.var2=1 and b.var2=2

Ik had het zelf kunnen bedenken.. gewoon dezelfde tabel 2 verschillende namen geven. Thanks!
Pagina: 1