8 EKİM 2010, Cuma
MySQL: sorgu sonucunda kullanıcı değişkeni
Bir kullanıcı MySQL bir sorgu sonucuna göre değişken ayarlamak mümkün mü?
Elde etmek istediğim şey, bu (USER
GROUP
iki benzersiz olduğunu varsayabiliriz) gibi bir şey:
set @user = 123456;
set @group = select GROUP from USER where User = @user;
select * from USER where GROUP = @group;
Lütfen mümkün olduğunu biliyorum unutmayın ama iç içe Sorgu ile bunu yapmak istemiyorum.
CEVAP
8 EKİM 2010, Cuma
Evet, ama sorgu içine değişken atama taşımak gerekir:
SET @user := 123456;
SELECT @group := `group` FROM user WHERE user = @user;
SELECT * FROM user WHERE `group` = @group;
Case Test:
CREATE TABLE user (`user` int, `group` int);
INSERT INTO user VALUES (123456, 5);
INSERT INTO user VALUES (111111, 5);
Sonuç:
SET @user := 123456;
SELECT @group := `group` FROM user WHERE user = @user;
SELECT * FROM user WHERE `group` = @group;
-------- -------
| user | group |
-------- -------
| 123456 | 5 |
| 111111 | 5 |
-------- -------
2 rows in set (0.00 sec)
SET
ya da =
:=
atama operatörü olarak kullanılır. Diğer tablolar içinde ancak, atama operatörü =
non-SET tablolarda karşılaştırma operatörü olarak kabul edilir çünkü :=
=
olmalıdır.
GÜNCELLEME:
Aşağıda yorumlara ek olarak, aynı zamanda aşağıdakileri yapabilirsiniz:
SET @user := 123456;
SELECT `group` FROM user LIMIT 1 INTO @group;
SELECT * FROM user WHERE `group` = @group;
Bunu Paylaş:
Nasıl MySQL benim URL, host, port ve k...
&Quot MySQL sorgu;kavşak" sınırla...
MySQL Sorgu - Bugün ve Son 30 Gün aras...
Neden MYSQL yüksek LİMİTLİ sorgu aşağı...
MySQL yeni kullanıcı oluşturmak ve bir...