2016-05-04 8 views
1

Я учусь SQL и была поставлена ​​задача создать запрос для этого:SQL - все заявление о соединении?

-Write Выделить все присоединиться заявление на userDb.user и userDb.advertiser на основе NETWORK_ID где user_name = «финансы»

Однако , Я не могу найти что-либо, предлагающее все совместное заявление, поэтому я смущен тем, что делать?

Моя попытка пока, однако, не работает!

SELECT userDB.user.network_id, 
     userDB.advertiser.network_id 
FROM userDB.user 
INNER JOIN userDB.advertiser ON userDB.user.network_id = userDB.advertiser.network_id 
WHERE network_id = user_name = 'finance' 

Каков правильный код и описание неисправности?

+0

У вас отсутствует что-то в разделе where «WHERE network_id = user_name = 'finance';" –

ответ

3

Хорошо, запрос, который вы ищете, это нечто подобное;

SELECT * 
FROM user AS u 
INNER JOIN advertiser AS a 
ON u.network_id = a.network_id 
WHERE u.user_name = 'finance' 

Вы были почти там. Изменения, которые я сделал, это использовать псевдоним таблицы '(' u 'и' a '), который стоит прочитать. В вашем случае там тоже было слишком много операторов.

Оператор SELECT * является то, что я предполагаю, что они означают ВЫБРАТЬ ВСЕ

Позвольте мне знать, если вы не понимаете, какой-либо из запроса выше, и я буду рад помочь.

+1

Возможно ли это без псевдонима? – Speedychuck

+0

уверен, просто введите имя таблицы. Причина, по которой я это сделал, заключается в том, что я не уверен, является ли userDB вашим именем базы данных или именем схемы. В любом случае, это обычно не обязательно. Соглашение об именах является именем ServerName.DatabaseName.SchemaName.TableName, хотя вы можете использовать только последний, или последние два, или последние три, или все из них. –

+1

SELECT * FROM userDB.user INNER JOIN userDB.advertiser ON user.network_id = advertiser.network_id WHERE user.user_name = 'финансы' Это работало. Приветствую вас за помощь, я отмечу это как ответ. – Speedychuck

Смежные вопросы