» »

Neveljaven mysql stavek - napaka #1054 - Unknown column 'PRODUCTS.TAXCAT' in 'on clause'

Neveljaven mysql stavek - napaka #1054 - Unknown column 'PRODUCTS.TAXCAT' in 'on clause'

KernelPanic ::

Spostovane dame in gospodje!

Kaj za vraga je narobe z sledecim, MySQL stavkom, da se mi ne izvede:
SELECT P.ID, P.REFERENCE, P.CODE, P.NAME, P.ISCOM, P.ISSCALE, P.PRICEBUY, P.PRICESELL, P.TAXCAT, P.CATEGORY, P.ATTRIBUTESET_ID, P.IMAGE, P.ATTRIBUTES, P.ISKITCHEN, P.ISSERVICE, P.DISPLAY, P.ISVPRICE, P.ISVERPATRIB, P.TEXTTIP, P.WARRANTY, P.STOCKUNITS FROM PRODUCTS P, PRODUCTS_CAT O JOIN TAXCATEGORIES ON PRODUCTS.TAXCAT=TAXCATEGORIES.ID JOIN TAXES ON TAXCATEGORIES.ID=TAXES.ID WHERE P.ID = O.PRODUCT ORDER BY O.CATORDER

Kot ze omenjeno v naslovu, mi javi sledeco napako:
error #1054 - Unknown column 'PRODUCTS.TAXCAT' in 'on clause'

Prosim za nasvet in s spostovanjem,
M.

win64 ::

a polje PRODUCTS.TAXCAT obstaja?

KernelPanic ::

win64 je izjavil:

a polje PRODUCTS.TAXCAT obstaja?

Da. 5x preveril! :D

win64 ::

Kaj pa če provaš P.TAXCAT

KernelPanic ::

win64 je izjavil:

Kaj pa če provaš P.TAXCAT

Sem, ne dela, ista napaka!

win64 ::

Lahko pa je narobe da čudnozdružuješ.
PRODUCTS P, PRODUCTS_CAT O JOIN TAXCATEGORIES ON PRODUCTS.TAXCAT=TAXCATEGORIES.ID JOIN TAXES ON TAXCATEGORIES.ID=TAXES.ID

Napiši
PRODUCTS_CAT O, PRODUCTS P JOIN TAXCATEGORIES ON PRODUCTS.TAXCAT=TAXCATEGORIES.ID JOIN TAXES ON TAXCATEGORIES.ID=TAXES.ID

Ali pa še več. Namesto:
PRODUCTS P, PRODUCTS_CAT O JOIN TAXCATEGORIES ON PRODUCTS.TAXCAT=TAXCATEGORIES.ID JOIN TAXES ON TAXCATEGORIES.ID=TAXES.ID WHERE P.ID = O.PRODUCT
Napišeš
PRODUCTS P INNER JOIN PRODUCTS_CAT O ON P.ID = O.PRODUCT
JOIN TAXCATEGORIES ON P.TAXCAT=TAXCATEGORIES.ID JOIN TAXES ON TAXCATEGORIES.ID=TAXES.ID

Zgodovina sprememb…

  • spremenil: win64 ()

KernelPanic ::

win64 je izjavil:

Lahko pa je narobe da čudnozdružuješ.
PRODUCTS P, PRODUCTS_CAT O JOIN TAXCATEGORIES ON PRODUCTS.TAXCAT=TAXCATEGORIES.ID JOIN TAXES ON TAXCATEGORIES.ID=TAXES.ID

Napiši
PRODUCTS_CAT O, PRODUCTS P JOIN TAXCATEGORIES ON PRODUCTS.TAXCAT=TAXCATEGORIES.ID JOIN TAXES ON TAXCATEGORIES.ID=TAXES.ID

Ali pa še več. Namesto:
PRODUCTS P, PRODUCTS_CAT O JOIN TAXCATEGORIES ON PRODUCTS.TAXCAT=TAXCATEGORIES.ID JOIN TAXES ON TAXCATEGORIES.ID=TAXES.ID WHERE P.ID = O.PRODUCT
Napišeš
PRODUCTS P INNER JOIN PRODUCTS_CAT O ON P.ID = O.PRODUCT
JOIN TAXCATEGORIES ON P.TAXCAT=TAXCATEGORIES.ID JOIN TAXES ON TAXCATEGORIES.ID=TAXES.ID

Mi podas prosim cel stavek, ker sem se izgubil sedaj?

win64 ::

SELECT P.ID, P.REFERENCE, P.CODE, P.NAME, P.ISCOM, P.ISSCALE, P.PRICEBUY, P.PRICESELL, P.TAXCAT, P.CATEGORY, P.ATTRIBUTESET_ID, P.IMAGE, P.ATTRIBUTES, P.ISKITCHEN, P.ISSERVICE, P.DISPLAY, P.ISVPRICE, P.ISVERPATRIB, P.TEXTTIP, P.WARRANTY, P.STOCKUNITS
FROM
PRODUCTS P INNER JOIN PRODUCTS_CAT O ON P.ID = O.PRODUCT
JOIN TAXCATEGORIES ON P.TAXCAT=TAXCATEGORIES.ID
JOIN TAXES ON TAXCATEGORIES.ID=TAXES.ID
ORDER BY O.CATORDER

KernelPanic ::

win64 je izjavil:

SELECT P.ID, P.REFERENCE, P.CODE, P.NAME, P.ISCOM, P.ISSCALE, P.PRICEBUY, P.PRICESELL, P.TAXCAT, P.CATEGORY, P.ATTRIBUTESET_ID, P.IMAGE, P.ATTRIBUTES, P.ISKITCHEN, P.ISSERVICE, P.DISPLAY, P.ISVPRICE, P.ISVERPATRIB, P.TEXTTIP, P.WARRANTY, P.STOCKUNITS
FROM
PRODUCTS P INNER JOIN PRODUCTS_CAT O ON P.ID = O.PRODUCT
JOIN TAXCATEGORIES ON P.TAXCAT=TAXCATEGORIES.ID
JOIN TAXES ON TAXCATEGORIES.ID=TAXES.ID
ORDER BY O.CATORDER

Hmm zgleda da dela! Hvala, sam zakwa pa INNER JOIN?

KernelPanic je izjavil:

win64 je izjavil:

SELECT P.ID, P.REFERENCE, P.CODE, P.NAME, P.ISCOM, P.ISSCALE, P.PRICEBUY, P.PRICESELL, P.TAXCAT, P.CATEGORY, P.ATTRIBUTESET_ID, P.IMAGE, P.ATTRIBUTES, P.ISKITCHEN, P.ISSERVICE, P.DISPLAY, P.ISVPRICE, P.ISVERPATRIB, P.TEXTTIP, P.WARRANTY, P.STOCKUNITS
FROM
PRODUCTS P INNER JOIN PRODUCTS_CAT O ON P.ID = O.PRODUCT
JOIN TAXCATEGORIES ON P.TAXCAT=TAXCATEGORIES.ID
JOIN TAXES ON TAXCATEGORIES.ID=TAXES.ID
ORDER BY O.CATORDER

Hmm zgleda da dela! Hvala, sam zakwa pa INNER JOIN?

Hmm, po tvojem stavku mi pa zdej en artikel fali ...

Zgodovina sprememb…

win64 ::

Dej pa INNER JOIN ven, to pomeni da mora obstajat povezava. Drugače dopušča tudi NULL vrednosti(in vrednosti ki niso v drugi tabeli).
Glede na to da si imel napisano 'WHERE P.ID = O.PRODUCT' je to enako.

MrStein ::

Beseda "INNER" je sicer odveč, ker beseda "JOIN" sama pomeni "notranji join".
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

SQL sortiranje JOIN

Oddelek: Programiranje
171162 (929) korenje3
»

Podatkovne baze - SQL enostavne poizvedbe

Oddelek: Programiranje
72063 (1656) galu
»

Baza & c#

Oddelek: Programiranje
214157 (3215) xardas
»

baze podatkov

Oddelek: Programiranje
91565 (1484) urkrajnc
»

Poceni tiskanje

Oddelek: Kaj kupiti
183709 (3234) LuGi

Več podobnih tem