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