WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   select statement (http://www.wcm.at/forum/showthread.php?t=183487)

Bizeps 19.01.2006 15:12

select statement
 
ich bräuchte ien select statement, dass mir nur jene werte einer tabelle ausgibt, die in einer gewissen spalte nicht leer sind.

ungefähr so:

select a from tabelle where b != null;

leider funkts so nicht.

Tipps?

zAPPEL 19.01.2006 15:17

"IS NOT NULL" müsste das sein.

Bizeps 19.01.2006 15:27

hab ich schon probiert - da kommt folgende fehlermeldung (mysql 5):

error in sql syntax ...

zAPPEL 19.01.2006 15:34

http://dev.mysql.com/doc/refman/5.0/...with-null.html
Also laut mysql manual müsste es so funktionieren, habe es gerade bei mir ausprobiert mit mysql.

"Select * from news where content is not null;" liefert mir alle einträge und "Select * from news where content is null" liefert mir keine Einträge.
Zeig mal dein SQL Query das du verwendest.

lg

Bizeps 19.01.2006 15:40

nix spektakuläres:

SELECT entry_id,bsc_type from optionen_2g_radio where bsc_type IS NOT NULL

JoergStueger 19.01.2006 15:44

Verwendest Du eigentlich MySql oder was anderes?

LG
Joerg

Bizeps 19.01.2006 15:47

mysql 5 in verbindung mit php

zAPPEL 19.01.2006 15:48

Also wenn ich eine Abfrage in meiner Datenbank einbaue die gleichermaßen aufgebaut ist:
SELECT news_content, news_date from news where news_date IS NOT NULL; bekomm ich keine Fehlermeldung, was genau gibt dir mysql als Fehlermeldung zurück?

Zeig den php code drumherum.

Bizeps 19.01.2006 15:56

$sql = "SELECT entry_id,bsc_type from optionen_2g_radio where bsc_type IS NOT NULL";


$result = mysql_query($sql) OR die(mysql_error());

sorry hab jetzt keine fehlermeldung, die leeren felder werden nur noch immer ausgegeben wenn ich <> null schreibe werden gar keine ausgegeben

Bizeps 19.01.2006 15:56

// Formular wird mittels while Schleife gefüllt

while($line = mysql_fetch_assoc($result))
{


// entry_id identifiziert die Datensätze eindeutig und wird mit übergeben
echo' <tr bgcolor="#FFFF6E">
<form action="optionen_bsc_type.php?my_entry='.$line['entry_id'].'" method="post">
<td><input bsc_type="text" id="bsc_type" name="bsc_type" size="6" value="'.$line['bsc_type'].'"/> </td>


<td><center><input type="submit" name="edit" value="edit" /></center></td>
<td><center><input type="submit" name="delete" value="delete" /></center></td>
</form>
</tr>
';
}

zAPPEL 19.01.2006 16:08

hm.. könnte es etwas damit zu tun haben?
Zitat:

A common error when working with NULL is to assume that it is not possible to insert a zero or an empty string into a column defined as NOT NULL, but this is not the case. These are in fact values, whereas NULL means "not having a value". You can test this easily enough by using IS [NOT] NULL as shown:
Gib dein MYSQL Statement einfach mal direkt ins mysql ein und schau was er dir ausgibt.

lg

T.dot 19.01.2006 16:13

Ich kenn nur aus ms-sql das Phänomen, dass man "where not Spalte is null" schreiben muss, weil "where Spalte not is null" nen Fehler ausgibt.

Ansonsten würd ich einfach mal dein SQL-Statement auf mysql Kommandozeile oder über PhpMyAdmin probieren, damit du ne Fehlermeldung hast.

Ansonsten mal auf Spalte="" testen.

mfg T.

Bizeps 23.01.2006 09:03

where spalte not is null funkt nicht.

meine sql abfrage ergibt in phpmyadmin keine fehlermeldung gibt mir jene spalten mit null aber auch aus

helios 23.01.2006 09:23

Zitat:

Original geschrieben von Bizeps
nix spektakuläres:

SELECT entry_id,bsc_type from optionen_2g_radio where bsc_type IS NOT NULL

das statement funktioniert schon so, probiers mal in der mysql command line

rado 30.01.2006 10:45

Kann es sein, dass die Spalten halt einfach nicht NULL sind? Wenn es sich um Strings handelt, dann könnten die ja einen Leerstring enthalten. Ein Leerstring ist nicht das selbe wie NULL. Das kommt darauf an, wie die Spalten gefüllt werden.

Wenn dem so ist, dann müsste folgende Abfrage das gewünschte Ergebnis liefern:
SELECT entry_id,bsc_type from optionen_2g_radio where bsc_type != ''


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag