2016-06-22 3 views
1

Нужна помощь. У меня есть 3 стола. klients, klientwithservice, обслуживание.mysql query 3 таблицы php output name вместо id

table klients 
 
id | klientrnd 
 
--------- 
 
1 | 11231231 
 
2 | 22222222 
 

 
table service 
 
id | servicename 
 
--------- 
 
1 | Repair laptop 
 
2 | Repair pc 
 

 
table klientwithservice 
 
id | klientrnd | serviceid 
 
------------------------------- 
 
1 | 11231231 | 1 
 
2 | 11231231 | 2 
 
3 | 22222222 | 1 
 
4 | 22222222 | 2

Мне нужно вывести SERVICENAME вместо ID. My SQL запрос:

SELECT serviceid FROM klientwithservice WHERE '$pole8' = `klientrnd`

Где $pole8 = klientrnd точно человек, на какой странице я помещен.

ответ

1

для этого нужно соединить два таблицу

использование ниже запроса

SELECT s.servicename FROM klientwithservice as kws 
JOIN service as s ON s.id = kws.serviceid 
WHERE `klientrnd` = '$pole8' 
+0

Тпх человек у лучше) – Keweqqwe

+0

Может и может помочь мне больше) – Keweqqwe

+0

да, пожалуйста, что проблема –

0

Во-первых, ваш SQL SELECT serviceid FROM klientwithservice WHERE '$pole8' = klientrnd неправильно.

Это возвращает ошибку синтаксиса с указанием unknown column $pole8 (это точное значение) `неправильно

Во-вторых, вы должны использовать join, чтобы добиться того, что вы после этого. ? Попробуйте это:

SELECT s.servicename FROM klientwithservice as k 
JOIN service as s ON s.id = k.serviceid 
WHERE k.klientrnd = '$pole8'