Toon posts:

[SQL] 3 voudige query

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik probeer om een 3 voudige query te maken, dus 1 query waarin 3 tabellen aan elkaar worden gelinkt zodat de 'accountman' en 'catid' gelinkt worden aan de aparten tabbellen 'cms_accmanager' en 'cms_category'. Het probleem hiermee is alleen dat ik dit niet werkend krijg....

Het onderstaand zijn 2 query's die ik geprobeerd heb, ik heb nog meer combinaties geprobeerd maar het blijft niet werken.
Ook de manual op www.mysql.com heeft me niet verder kunnen helpen.

code:
1
2
3
4
5
6
7
<?php 
//testquery1
mysql_query("SELECT * FROM cms_contacten INNER JOIN cms_accmanager, cms_category ON cms_contacten.accmanager = cms_accmanager.accid AND cms_contacten.catid = cms_category.name ORDER by '$sort'") 

//testquery2
mysql_query("SELECT * FROM cms_contacten INNER JOIN cms_accmanager ON cms_contacten.accmanager = cms_accmanager.accid INNER JOIN cms_category ON cms_contacten.catid = cms_category.catid ORDER by '$sort'"); 
?>

  • whoami
  • Registratie: December 2000
  • Laatst online: 16:52
Wat is niet werken?

https://fgheysels.github.io/


Verwijderd

Topicstarter
Dat de query niet klopt...
Bij de laatste haalt ie netjes de informatie uit de database maar krijg ik bij accountmanager niks te zien...

Het volgende geeft ie aan:
Notice: Undefined index: cms_accmanager.name in c:\phpdev\www\cms\secure\spreadsheet.contact.php on line 118

[ Voor 69% gewijzigd door Verwijderd op 08-09-2004 08:58 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19:24

gorgi_19

Kruimeltjes zijn weer op :9

En wat is die foutmelding? En hoe ziet je geparsde query er uit?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • CRiMiNaL
  • Registratie: Mei 2002
  • Laatst online: 10-01-2024

CRiMiNaL

Witlof ^^

eh vriend, dat is een PHP verwante foutmelding. Klinkt als een quote foutje in je code.
Denk dus niet dat je het in je quary moet zoeken, of je moet ook echt een foutmelding krijgen in je query.

[ Voor 39% gewijzigd door CRiMiNaL op 08-09-2004 09:01 ]

... MMORPG Addict.


Verwijderd

Topicstarter
Als ik de namen van de velden verander werkt het wel.
Maar als ik een veld oproep als zijn tabelnaam.veldnaam dan krijg ik een fout.

Maar op deze manier werkt het ook goed, bedankt voor de hulp !

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

PHP krijgt de namen niet met tabelnaam.veldnaam door... Je zult dat op moeten lossen met aliases in de SELECT-list, mocht je twee "dezelfde" veldnamen hebben en die beiden willen tonen.

Zo'n alias werkt zo:
SELECT tabelnaam.veldnaam AS aliasnaam, ...
(die AS is geloof ik niet verplicht bij elke db), waarna je die aliasnaam binnen php als kolomnaam kan gebruiken (de veldnaam niet meer).

  • CRiMiNaL
  • Registratie: Mei 2002
  • Laatst online: 10-01-2024

CRiMiNaL

Witlof ^^

Nog een kleine tip erachter aan. Zodra je gebruik gaat maken van welk soort join dan ook kun je het beste vermijden dat je dubbele veldnamen in je resultaat krijgt, dit werkt namenlijk niet alleen verwarrend voor je zelf, maar ook voor andere.

Meestal is het makkelijk te voorkomen door juiste normalisering toe te passen op je tabellen, mocht je opgescheept zitten met andersmans tabellen is het natuurlijk een ander verhaal.

... MMORPG Addict.


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

ACM schreef op 08 september 2004 @ 11:21:
(die AS is geloof ik niet verplicht bij elke db)
Hij is zelfs optioneel volgens SQL-92 :)

Professionele website nodig?

Pagina: 1