Avatar billede Slettet bruger
26. april 2011 - 09:35 Der er 7 kommentarer og
2 løsninger

Kolonne kan ikke findes

Goddag,


Error

SQL query: Documentation

SELECT *
FROM `Sale_Sale`
FULL JOIN `Sale_Reseller` ON `Sale_Sale.Id` = `Sale_Sale-Reseller`.`Id`
AND `Sale_Sale-Reseller`.`Reseller` = `Sale_Reseller`.`Id`
LIMIT 0 , 30

MySQL said: Documentation
#1054 - Unknown column 'Sale_Sale.Id' in 'on clause'


Men Sale_Sale har skam en Id-kolonne:


CREATE TABLE `Sale_Sale` (
  `Id` int(11) NOT NULL auto_increment,
  ...,
  PRIMARY KEY  (`Id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;


Hvad overser jeg?
Tak.
26. april 2011 - 10:08 #1
Det kan vaere fordi du siger "ON `Sale_Sale.Id` " i stedet for enten "ON Sale_Sale.Id " eller "ON `Sale_Sale`.`Id` "
Avatar billede Slettet bruger
26. april 2011 - 10:51 #2
Det var desværre ikke problemet...

SELECT *
FROM `Sale_Sale`
FULL JOIN `Sale_Reseller` ON `Sale_Sale`.`Id` = `Sale_Sale-Reseller`.`Id`
AND `Sale_Sale-Reseller`.`Reseller` = `Sale_Reseller`.`Id`
LIMIT 0 , 30

#1054 - Unknown column 'Sale_Sale.Id' in 'on clause'
26. april 2011 - 11:20 #3
Jamen det var da aergerligt.  Det jeg saa selv ville goere, og som du sikkert allerede har gjort, er noget i retning af dette:

1.  Acceptere at paa det tidspunkt Sale_Sale og saa lede efter hvordan.

2.  Koere en query saa som "SELECT Id FROM Sale_Sale" og se om du saa ogsaa faar en error.  a.  Hvis det gaar godt saa "SELECT Sale_Sale.Id from Sale_Sale" o.s.v. trin for trin udvide queryen indtil der kommer en error.  b.  Hvis det gaar galt, saa maa der efter du har oprettet tabellen vaere sket noget med den.  Eller kan noget have vaeret stavet anderledes.

Ellers ved jeg ikke hvad jeg skal foreslaa.
Avatar billede michael_stim Ekspert
26. april 2011 - 11:39 #4
`Sale_Sale-Reseller`.Id er den OK?
Og denne: `Sale_Sale-Reseller`.`Reseller`
Avatar billede Slettet bruger
26. april 2011 - 11:59 #5
For det første skulle jeg vist bruge CROSS JOIN til mit formål, og derudover skulle jeg vist joine for hver af de to tabeller og ikke kun den sidste... Følgende eksempel virker i hvert fald:

SELECT Test_A.Var, Test_B.Var FROM Test_A CROSS JOIN Test_B ON Test_A.Id=Test_B.A

Jeg fik også det egentlige script til at fungere.
Avatar billede Slettet bruger
26. april 2011 - 12:00 #6
(Jeg havde ikke set #3 og #4, da jeg skrev #5)
Avatar billede Slettet bruger
26. april 2011 - 12:01 #7
Hvis nogen skulle have interesse i det, er følgende et fungerende stykke fra det reelle script:

FROM `$tuser`,`$tuserproduct`,`$tsaleproduct`,`$tsale`
CROSS JOIN `$tsalereseller` ON `$tsale`.`Id`=`$tsalereseller`.`Sale`
CROSS JOIN `$treseller` ON `$tsalereseller`.`Reseller`=`$treseller`.`Id`

$-tegnene markerer PHP-variable for tabelnavne.
Avatar billede Slettet bruger
26. april 2011 - 12:47 #8
Det hele fungerer nu. Smid et svar hvis du vil have point, Christian.
26. april 2011 - 12:58 #9
Svar fra mig.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester