SELECT <>

SELECT <>

am 21.03.2007 15:09:05 von Mathias Fiedler

HAllo,

ich möchte eine DB abfragen. Dazu habe ich folgende Select Abfrage:

SELECT
a.articleID,a.articleNumber,a.articleName,a.width,a.length,a .code,a.cost,a.inventory,a.articleNumberSelf,a.charge,a.sond er,d.design,c.colorWert,c.colorName,p.pathLong,p.pathShort,s .device,s.short,st.stil,di.company,de.short,de.description,a .categorieID
FROM article as a INNER JOIN design as d ON a.designID = d.designID INNER
JOIN color as c ON a.colorID = c.colorID INNER JOIN path as p ON
a.articleNumberSelf = p.articleNumberSelf INNER JOIN sellingdevice as s ON
a.sellingID = s.sellingID INNER JOIN stil as st ON a.stilID = st.stilID
INNER JOIN distributor as di on a.distributorID = di.distributorID INNER
JOIN description as de ON a.descriptionID = de.descriptionID WHERE
(a.charge <> 'borabora _T01_Q53') AND (a.categorieID = 2) AND (a.articleID
<> 29) ORDER BY a.charge,a.valuation,a.articleName

Die Abfrage bringt keine Fehlermeldung. Die Klammern habe ich nur zur
besseren Übersicht. Ich möchte also unter anderem alle Datensätze die in
dem Feld charge >> nicht << die Zeichenfolge "borabora _T01_Q53" haben.
Meine Datenbank schert sich aber überhaupt nicht um die Negierung. Es
werden eben auch die Datensätze ausgegeben, die die besagte Zeichenfolge
enthalten. Ich arbeite mit mysql5 unter Windows. Das Feld ist varchar. Auf
einem Linux Server (Puretec) tritt aber das selbe Problem auf. Daran sollte
es wohl nicht liegen. Wieso wird diese Abfrage ignoriert? Alle anderen
Abfragen werden richting interpretiert, auch die nach a.articleID <> 29.
Auch != an Stelle von <> bringt keine Erfolge.

Kann ir das jemand erklären?

mfg

Mathias

Re: SELECT <>

am 21.03.2007 17:06:46 von Sebastian Moderlak

"Mathias Fiedler" schrieb im Newsbeitrag
news:9h1c9bhp2zt6$.lh7khh4jv1om.dlg@40tude.net...
> SELECT
a.articleID,a.articleNumber,a.articleName,a.width,a.length,a .code,a.cost,a.inventory,a.articleNumberSelf,a.charge,a.sond er,d.design,c.colorWert,c.colorName,p.pathLong,p.pathShort,s .device,s.short,st.stil,di.company,de.short,de.description,a .categorieID
> FROM article as a INNER JOIN design as d ON a.designID = d.designID INNER
> JOIN color as c ON a.colorID = c.colorID INNER JOIN path as p ON
> a.articleNumberSelf = p.articleNumberSelf INNER JOIN sellingdevice as s ON
> a.sellingID = s.sellingID INNER JOIN stil as st ON a.stilID = st.stilID
> INNER JOIN distributor as di on a.distributorID = di.distributorID INNER
> JOIN description as de ON a.descriptionID = de.descriptionID WHERE
> (a.charge <> 'borabora _T01_Q53') AND (a.categorieID = 2) AND (a.articleID
> <> 29) ORDER BY a.charge,a.valuation,a.articleName

schon mal mit
(a.charge not like 'borabora _T01_Q53')
bzw vielleicht auch - je nach inahlt in a.charge
(a.charge not like '%borabora _T01_Q53%')
probiert?

Beste Grüße
Bas

Re: SELECT <>

am 21.03.2007 17:07:04 von stefano picco

Hi Mathias,

Mathias Fiedler wrote:
> ... WHERE
> (a.charge <> 'borabora _T01_Q53') AND (a.categorieID = 2) AND (a.articleID
> <> 29) ORDER BY a.charge,a.valuation,a.articleName

also auf den ersten Blick stört mich eigentlich:

a.charge <> 'borabora _T01_Q53'

probier es mal mit:

a.charge <> 'borabora_T01_Q53'

hth
Stefano

--
..S.P.I.C stefano picco internet concepts http://www.spic.de
::::: part of spicOne multimedia http://www.spicone.de :::::
>> http://blog.stefano-picco.de - http://www.mythos77.de <<
visit http://www.typopolis.de & http://forum.motion-design.de

Re: SELECT <>

am 21.03.2007 17:13:30 von Mathias Fiedler

Am Wed, 21 Mar 2007 17:07:04 +0100 schrieb stefano picco:

> Hi Mathias,
>
> Mathias Fiedler wrote:
>> ... WHERE
>> (a.charge <> 'borabora _T01_Q53') AND (a.categorieID = 2) AND (a.articleID
>> <> 29) ORDER BY a.charge,a.valuation,a.articleName
>
> also auf den ersten Blick stört mich eigentlich:
>
> a.charge <> 'borabora _T01_Q53'
>
> probier es mal mit:
>
> a.charge <> 'borabora_T01_Q53'
>
> hth
> Stefano

Ich kann da keinen Unterschied erkennen

Mathais

Re: SELECT <>

am 21.03.2007 17:13:45 von Mathias Fiedler

Am Wed, 21 Mar 2007 17:06:46 +0100 schrieb Sebastian Moderlak:

> "Mathias Fiedler" schrieb im Newsbeitrag
> news:9h1c9bhp2zt6$.lh7khh4jv1om.dlg@40tude.net...
>> SELECT
> a.articleID,a.articleNumber,a.articleName,a.width,a.length,a .code,a.cost,a.inventory,a.articleNumberSelf,a.charge,a.sond er,d.design,c.colorWert,c.colorName,p.pathLong,p.pathShort,s .device,s.short,st.stil,di.company,de.short,de.description,a .categorieID
>> FROM article as a INNER JOIN design as d ON a.designID = d.designID INNER
>> JOIN color as c ON a.colorID = c.colorID INNER JOIN path as p ON
>> a.articleNumberSelf = p.articleNumberSelf INNER JOIN sellingdevice as s ON
>> a.sellingID = s.sellingID INNER JOIN stil as st ON a.stilID = st.stilID
>> INNER JOIN distributor as di on a.distributorID = di.distributorID INNER
>> JOIN description as de ON a.descriptionID = de.descriptionID WHERE
>> (a.charge <> 'borabora _T01_Q53') AND (a.categorieID = 2) AND (a.articleID
>> <> 29) ORDER BY a.charge,a.valuation,a.articleName
>
> schon mal mit
> (a.charge not like 'borabora _T01_Q53')
> bzw vielleicht auch - je nach inahlt in a.charge
> (a.charge not like '%borabora _T01_Q53%')
> probiert?
>
> Beste Grüße
> Bas

Hab ich versucht

Mathias

Re: SELECT <>

am 21.03.2007 17:14:39 von Mathias Fiedler

Ich hab die Größe des Varchar Feldes von 200 auf 100 geändert und jetzt
klappt es. Kann mir jemand sagen warum?

Mathias

Re: SELECT <>

am 21.03.2007 17:49:30 von Claus Reibenstein

Mathias Fiedler schrieb:

> Am Wed, 21 Mar 2007 17:07:04 +0100 schrieb stefano picco:
>
>> a.charge <> 'borabora _T01_Q53'
>>
>> a.charge <> 'borabora_T01_Q53'
>
> Ich kann da keinen Unterschied erkennen

Im ersten Fall steht zwischen borabora und _T01_Q53 ein Leerzeichen.

Gruß. Claus

Re: SELECT <>

am 21.03.2007 17:50:42 von Helmut Chang

Mathias Fiedler schrieb:
>> also auf den ersten Blick stört mich eigentlich:
>>
>> a.charge <> 'borabora _T01_Q53'
^
>>
>> probier es mal mit:
>>
>> a.charge <> 'borabora_T01_Q53'
>
> Ich kann da keinen Unterschied erkennen

Ich schon ;-).

gruss, heli

Re: SELECT <>

am 21.03.2007 18:11:54 von Johannes Vogel

Hallo Mathias

Mathias Fiedler wrote:
> Ich hab die Größe des Varchar Feldes von 200 auf 100 geändert und jetzt
> klappt es. Kann mir jemand sagen warum?

Mal frei geraten:
Vielleicht war der Index kaputt?

HTH, Johannes

Re: SELECT <>

am 22.03.2007 14:04:02 von Mathias Fiedler

Am Wed, 21 Mar 2007 17:49:30 +0100 schrieb Claus Reibenstein:

> Mathias Fiedler schrieb:
>
>> Am Wed, 21 Mar 2007 17:07:04 +0100 schrieb stefano picco:
>>
>>> a.charge <> 'borabora _T01_Q53'
>>>
>>> a.charge <> 'borabora_T01_Q53'
>>
>> Ich kann da keinen Unterschied erkennen
>
> Im ersten Fall steht zwischen borabora und _T01_Q53 ein Leerzeichen.
>
> Gruß. Claus

sorry. OK.

Mathias