Istället för att ta ut alla fält som SELECT * FROM...
som * -tecknet gör vill jag ta ut alla fält som inte är noll. Går det?
SELECT notnull? FROM...
9 svar · 207 visningar · startad av Gaski
menar du som inte är noll ( 0 ) eller inte är null ?
Har default siffran 0, men de fält som jag vill ha fram kanske har en 3,4 eller vilken siffra som helst. Men jag skulle vilja skippa alla med 0 (nollan) Alltså inte null....
SELECT field1, field2, field3
WHERE field1 <> 0
AND field2 <> 0
AND field3 <> 0
RED: borde gå lika bra att skriva:
SELECT field1, field2, field3
WHERE field1 != 0
AND field2 != 0
AND field3 != 0
eller
SELECT field1, field2, field3
WHERE field1 > 0
AND field2 > 0
AND field3 > 0
Det är alldeles för många fält för att skriva så där, söker en funktion som lätt rensar. Det är över 100 fält
har du över 100 fält i en tabell kanske det är dags att se över sin tabellstruktur, ska du använda dig av alla 100 fälten efter din hämtning?
Databasstrukturen är det inget fel på, det låter konstigt men faktiskt det snabbaste sättet!
Det är en drinkdatabas där en spritsort har sitt eget fält, innehåller inte drinken spritsorten är den noll annars antal cl som den innehåller. Om du vet en bättre databasstruktur får du gärna dela med dig.
Men man ska kunna skriva in vilka sorter sprit man har sedan ska ett script ta fram vilka drinkar man kan göra.
Om jag nu fattade dig rätt skulle jag haft en tabell
tblSprit
intSpritId | strSpritName
tblDrinkar
intDrinkId | strDrinkName | intCurrentSpritId
där du har en relation mellan de rödmarkerade fälten. Sedan kan du fylla på fler fält i tabellena efter tycke och smak. Fördelen är att du fyller tabellerna på höjden (med poster) istället för på bredden (med fält).
Men om du har 4 olika spritsorter i en drink, då kommer det finnas 4 inlägg i tblDrinkar för en drink...
Men det fungerar ju faktiskt mycket bätte nu när jag tänker efter, tack så hemskt mycket! Men det blir förbannat jobbigt att göra om databasen :)
du kan kanske normalisera ytterligare ett steg, ska fundera på det när jag kommer hem igen. Men jag tycker att denna lösningen ändå är bättre än att bygga på bredden trots den redundans som uppstår.