phpbar.de logo

Mailinglisten-Archive

AW: SELECT IN
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AW: SELECT IN



Hallo,

> ----------
> Von: 	Rainer Engelbach[SMTP:rengelbach_(at)_gmx.de]
> 
> Aus folgender Tabelle möchte ich die Zeilen angezeigt bekommen,
> die eine 2 in subscription enthalten:
> 
> +----+-------+--------------+
> | id | name  | subscription |
> +----+-------+--------------+
> |  1 | Test1 | 1,2,3,4,5    |
> |  2 | Test2 | 1,5          |
> |  3 | Test3 | 1,2          |
> +----+-------+--------+-----+
> 
> select * from tabelle, tabelle as test WHERE '2' IN (test.subscription);
> 
> liefert kein Ergebnis.
> 
Jo, das geht so net :-)
So etwas löst man am besten mit 2 Tabellen. Die Spalte subscription
weglassen
und eine Tabelle wie folgt anlegen:

tabelle subscriptions
id | name_id | subscription
> 1   1              1
> 1   1              2
> 1   1              3
> 1   1              4
> 1   1              5
> 1   2              1
> 1   2              5
> 1   3              1
> 1   3              2
> 
Aber um auf deine Frage zurückzukommen...

select * from tabelle where:
>     subscription = '2' OR
>     subscription like '2,%' OR
>     subscription like '%,2' OR
>     subscription like '%,2,%'
> 
Fall:
1: Nur eine 2 im Feld
2: die 2 steht am Anfang
3: die 2 steht am Ende
4: die 2 steht in der Mitte.

Wenn du das nicht sauber unterscheidest findest du auch 
Zahlen wie 22 und 12 usw....

Viele 
Grüße, Mathias


---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql 


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive