2017-01-24 4 views
-1

У меня есть две таблицы базы данных MySQL называемых клиентов и заказов, образец ниже ...MySQL внутреннее соединение - не возвращает результаты

customers 
client_id | cust_name | cust_phone 
-------------------------------- 
8273  | Mr Jones | 382749584 
38  | Mr Smith | 773625372 
9   | Mrs Brown | 922382938 

orders 
order_id | cust_id | product_id 
-------------------------------- 
392  | 9  | 9388 
23  | 2837  | 9283 
488  | 17  | 28392 

Я пытаюсь сделать внутреннее соединение, как это ...

SELECT * FROM customers 
JOIN orders 
ON customers.cust_id=orders.client_id 
WHERE ('client_id' LIKE '9') 

он не возвращает никаких результатов, но я ожидал, что это, чтобы показать мне поля для client_id 9

Где я буду неправильно?

+0

попробовать это 'SELECT * FROM клиентов РЕГИСТРИРУЙТЕСЬ заказы ON customers.cust_id = orders.client_id WHERE orders.client_id = 9' – crowchirp

+0

'client_id' является строкой. \ 'client_id \' - это столбец. – Strawberry

+0

можете ли вы сказать, какой ответ сработал для вас? –

ответ

1

я думаю, что вы сделали ошибку здесь «client_id»

SELECT * FROM customers 
JOIN orders 
ON customers.cust_id=orders.client_id 
WHERE client_id LIKE '9' 

если вы пишете «» это взять в качестве строки

3

Ваш запрос неправильно.

SELECT * FROM customers 
JOIN orders 
ON customers.client_id =orders.cust_id 
WHERE ('client_id' LIKE '9') 

Колонка client_id не существует в orders таблице. используйте client_id = 9 вместо запроса like.

0

попробовать это для точного соответствия

SELECT * FROM customers JOIN orders ON customers.cust_id=orders.client_id WHERE orders.client_id = 9 

или для как

SELECT * FROM customers JOIN orders ON customers.cust_id=orders.client_id WHERE orders.client_id Like '9' 

дикие символы карты могут использоваться здесь, например,

'%9%' 
'9%' 
+0

как запрос будет работать. client_id like 9 client_id like '9' –