Ben iki sütun a
ve b
var y
bir tablo var
Girdileri
a b
1 2
1 ila 3
1 ila 4
0 5
0 2
0 4
Ben sütunu ararsanız ben sütunu a
1 için, ve 5,2,4 ararsanız ben 2,3,4 almak istiyorum a
.
Yani A bir şey, için bir arama yaparsanız, (1) Ben bu satırları almak ve verilen değer için herhangi bir kayıt A varsa, bana 'Defaults' (a
= '0 'verecek )
İşte ben bunu nasıl bilemez nasıl.
$r = mysql_query('SELECT `b` FROM `y` WHERE `a` = \'1\';');
//This gives desired results, 3 rows
$r = mysql_query('SELECT `b` FROM `y` WHERE `a` = \'2\';');
//This does not give desired results yet.
//Get the number of rows, and then get the 'defaults'
if(mysql_num_rows($r) === 0) $r = mysql_query('SELECT `b` FROM `y` WHERE `a` = 0;');
Yani, şimdi yeterince açıklanmıştır olduğuna göre, ben nasıl yapabilirim, bir sorguda, ve ne performans kaygıları hakkında ki? Eğer varsayılan sokak IF sadece bir dizi için a
değerleri orada olacağını, çünkü en çok kullanılan kısım, üçüncü sorgu olacaktır.