Toon posts:

[MySQL] Fout 1064 of 1305 bij CONCAT in MySQL

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo allen,

Ik blijf maar een fout houden in mn query. Het is waarschijnlijk iets heel kleins, maar in zie het niet. De query die het allemaal moet doen is deze:

SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SELECT
orders.order_id,
orders.order_number,
orders.order_total,
orders.order_date,
order_status.order_status_name
CONCAT ( 
    IF ( customers.first_name IS NULL, '', customers.first_name ), ", ",  
    IF ( customers.middle_name IS NULL,'',customers.middle_name ), " ", 
    IF ( customers.last_name IS NULL,'',customers.last_name ) 
)
AS
    customer_name
FROM
orders
INNER JOIN order_status
ON ( orders.order_status_id = order_status.id ) 
LEFT JOIN customers
ON (  orders.customer_id = customers.id )


Deze geeft de bekende error 1064 met dat he in de manual moet kijken (die geeft geen voorbeeld met veldnamen) en zegt dat het "near" dit deel zit '(
IF ( customers.first_name IS NULL, '', customers.first_name ), ", ",
IF'at line 7


Maar zelfs deze komt er niet doorheen:

SQL:
1
2
3
4
5
SELECT CONCAT ( customers.first_name, customers.middle_name, customers.last_name ) 
AS
    customer_name
FROM
customers


Maar deze geeft de melding: 1305 - FUNCTION database_naam.CONCAT does not exist.

Ik heb geen flauw idee wat ik hiermee moet.

Ik hoop dat jullie me verder kunnen helpen!

Groeten,
Robert
MySQL 5.0.27

Acties:
  • 0 Henk 'm!

  • krvabo
  • Registratie: Januari 2003
  • Laatst online: 26-09 14:02

krvabo

MATERIALISE!

Question:
I want to concatenate 2 strings in my mysql database and I get the error message:
ERROR 1305 (42000): FUNCTION support.concat does not exist
How is that possible?

Answer:
In some mysql versions, you MUST NOT have a space after the function name. Try concat() instead of concat ().
Het is wellicht ook de oplossing voor je eerste error.

Pong is probably the best designed shooter in the world.
It's the only one that is made so that if you camp, you die.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Daar ben ik dan 4 uur naar aan het zoeken geweest...

Je bent geniaal!! En dat om die tijd :O

Acties:
  • 0 Henk 'm!

Verwijderd

offtopic:
Diit lijkt me trouwens een logischer concat:

SQL:
1
2
3
4
5
CONCAT (  
    IF ( customers.last_name IS NULL,'',customers.last_name ), ", ",  
    IF ( customers.first_name IS NULL, '', customers.first_name ), " ",   
    IF ( customers.middle_name IS NULL,'',customers.middle_name )
)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hey Afterlife,

Ik heb er dit van gemaakt:

SQL:
1
CONCAT_WS(' ',customers.first_name,customers.middle_name,customers.last_name )

[ Voor 1% gewijzigd door Verwijderd op 24-11-2008 02:29 . Reden: typo ]