2013-07-30 9 views
1

У меня есть следующая структура таблицы, но когда я пытаюсь выполнить оператор select ниже, я получаю пустой результат без данных. Я пытаюсь получить данные из таблицы A, где она связывается с таблицей B, а раздел является новым. Поэтому в этом примере я должен получить строки; два и три.SQL Inner Join wont join

Что я делаю неправильно? : S

Заранее спасибо

table A 
id name primarygroup 
1 one  1 
2 two  2 
3 three  2 

table B 
id section 
1  old 
2  new 
3  young 

SELECT * FROM A 
INNER JOIN B ON A.primarygroup = B.id 
WHERE B.section = "new" 
+1

Ну, наверное, глупо, но вы попробовали '' новый'' вместо '' нового'', или вы уверены, что в ваших данных нет места? –

+1

Вы действительно используете двойные кавычки ('' ') ?. Вам нужно использовать одинарные кавычки' WHERE B.section = 'new'' – Lamak

+0

Ах спасибо, ребята! Это сводило меня с ума – HeavyHead

ответ

5

Проверить this SQL Fiddle. Ваш запрос правильный, просто нужно сменить двойные кавычки на одинарные кавычки. Поэтому вместо «нового» попробуйте «новое»

И, кстати, отредактируйте свои теги и добавьте, какие РСУБД вы используете. Мой пример кода для SQL Server.

2

попробовать single quotes" ->"

SELECT * FROM A 
INNER JOIN B ON A.primarygroup = B.id 
WHERE B.section = 'new' 

Кроме того, Измените запрос, чтобы выбрать поля, которые вы хотите, или вы получаете id два раза там.