distinct komutunda hata var

Web tabanlı uygulama geliştirme araçları(PHP, ASP vb...) ile ilgili konuları buraya yazabilirsiniz.
Cevapla
kazimates
Üye
Mesajlar: 332
Kayıt: 01 Tem 2005 12:40
Konum: Kıbrıs
İletişim:

distinct komutunda hata var

Mesaj gönderen kazimates »

Aşağıdaki kodu php yorumladığında
TC-MZZ
TC-MZZ
TC-CTA

şeklindeki veriler comboboxda gözüküyor
şayet
$sql="SELECT DISTINCT tailname.tailname as ucakad, faultyreporter.id FROM faultyreporter INNER JOIN tailname ON tailname.id=faultyreporter.tailid";
şeklindeki bir ifadede ise yine aynı çıktıyı görüyorum. Bunun nasıl çözebilirim ki TC-MZZ ve TC-CTA sadece ekranda belirsin?

Kod: Tümünü seç

$sql="SELECT tailname.tailname as ucakad, faultyreporter.id  FROM faultyreporter INNER JOIN tailname ON tailname.id=faultyreporter.tailid";
  $result=mysql_query($sql);
  
  $options="";
  
  while ($row=mysql_fetch_array($result)) {
  
  	$id=$row["id"];
  	$name=$row["ucakad"];
  	$options.="<OPTION VALUE=\"$id\">".$name.'</option>';
  }
  ?>  
  <SELECT NAME=tailname>
  <OPTION VALUE=0>
  <? echo $options?>
  </SELECT>
</tr>
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: distinct komutunda hata var

Mesaj gönderen aslangeri »

s.a.
distinc comutunda hata olduğunu zannetmiyorum.
select ifadenizde gelen tüm kayıtların tüm alanlarını kontrol edin.
eğer bir satırın iki kere geldiğini düşünüyorsanız select ifadesindeki diğer alanlara bakın.
Farklı olan bir alan muhakkak vardır.
örneğinizde muhtemelen "faultyreporter.id" alanı farklı olduğu için kayıt iki kere görünüyor.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: distinct komutunda hata var

Mesaj gönderen sabanakman »

Ayrıca

Kod: Tümünü seç

SELECT DISTINCT tailname.tailname as ucakad, faultyreporter.id FROM faultyreporter INNER JOIN tailname ON tailname.id=faultyreporter.tailid
sorgu yöntemindeki mantığı pek çözemedim, bunun yerine direkt

Kod: Tümünü seç

SELECT DISTINCT tailname as ucakad, tailid  as id FROM tailname
sorgusunu da kullanmak yeterli olabilir. Eğer aynı isimden hala çok kayıt geliyorsa aynı isimde ama farklı id değerine sahip kayıtların var demektir.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla