TMS: Doppelte Einträge bei MySQL

Hallo,

lasse mit

SELECT * from $tabelle WHERE dosis LIKE '0.00' OR dosis LIKE '0' ORDER by 'nr'

alle Felder meiner Tabelle ausgeben wo Feld "dosis" = 0 bzw 0.00 ist. Allerdings soll im Zusammenhang mit dem Feld "bz" immer nur jeweils eine Ausgabe gemacht werden. D.h. wenn zwei Einträge mit dosis=0 unter "bz" existieren, soll nur einer davon ausgegeben werden.

Hoffe jemand versteht mein Problem ...

Vielen Dank,

TMS

  1. Hi,

    SELECT * from $tabelle WHERE dosis LIKE '0.00' OR dosis LIKE '0' ORDER by 'nr'

    Das funzt in deinem Fall mit LIMIT:

    SELECT * from $tabelle WHERE dosis LIKE '0.00' OR dosis LIKE '0' ORDER by 'nr' LIMIT 0,1

    So kannst du deine Kriterien beibehalten, aber nur ein Datensatz wird ausgegeben. 0 gibt dabei den "Startpunkt" an (also den ersten Datensatz) und 1 die Anzahl der auszugebenden Datensaetze.

    Waeren die Datensaetze exakt die gleichen, koenntest du mit DISTINCT nur einen Datensatz von doppelt vorhandenen ausgeben lassen.

    Es reicht uebrigens wenn du dosis, statt 'dosis' schreibst. Und wenn du nicht wirklich das LIKE benoetigst (weil du gar keine Wildcards einsetzt), waere vielleicht dosis = 0.00 guenstiger, bzw. dosis = '0.00' wenn es tatsaechlich um einen String geht.

    Gruesse
    Ralf

  2. Hi,

    wenn zwei Einträge mit dosis=0 unter "bz" existieren, soll nur einer
    davon ausgegeben werden.

    und zwar welcher?

    Viele Grüße
          Michael