2016-06-26 2 views
0
Table 1 : 

ID City    State 
1 NewYork   NY 
2 Oklahama   OK 
3 california  CA 
4 new jersey  NJ 
5 Las Vegas  LA 

Table 2 : 

ID City 
1 NewYork   
2 NewYork   
3 NewYork   
4 Oklahama 
5 Oklahama 

NewYork в 3 раза и Oklahama 2 раза в таблице 2. Поэтому я хочу, чтобы принести City Список из таблицы 1, Города используются менее чем 5 раз в таблице 2Выборка данных из подсчета Таблица 1 столбца в таблице 2

Итак, что будет точный запрос в Mysql?

Я использую ниже код:

select * 
from Table1 
where Table1.city in 
    (select Table2 .city,count(*) 
    from Table2 
    having count(*) < 5 
    group by Table2.city) 
+0

Я искал запрос Так, по ошибке я написал Jquery. Прошу проголосовать за мой вопрос. – Csharp

ответ

1

Вы можете использовать в пункте с подвыборки

select * from table1 
    where city in (select city from table2 having count(*) < 5 group by city) 

В вашем коде у вас есть пространство между Table2 и .city

select * 
from Table1 where Table1.city in (select 
       Table2 .city,count(*) from Table2 having count(*) < 5 group by Table2.city) 

должно быть

select * 
from Table1 
where Table1.city in (select Table2.city 
         from Table2 
         group by Table2.city 
         having count(*) < 5 ) 

нет пространства между имя_таблицей и колонками ..

вы можете seee http://sqlfiddle.com/#!9/556cb6/10

+0

Не работает для меня. Я сравниваю город с таблицей 1 и таблицей 2. Мне нужен список городов из таблицы 1, который используется в таблице 2 менее 5 раз. – Csharp

+0

У меня есть ответ на вопрос. Если вы посмотрели на образец, вопрос был не таким ясным. L – scaisEdge

+0

Я проверил это, он показывает мне ошибку в группе по предложению. Просто повторите попытку. Я хочу получить город из таблицы, другая таблица меньше, чем 5 раз. Скажем, NewYork находится в таблице one.and в таблице 2 есть четыре строки, которые содержат NewYork 3 раза. Поэтому я хочу, чтобы данные из таблицы 1, которая меньше, чем 5 в таблице 2.Thanks. – Csharp

1

Как насчет

select Table1.city 
from Table1 inner join Table2 on Table1.city = Table2.city 
group by Table1.city 
having count(Table2.city) < 5 

SQLFiddle

+0

Большое спасибо @ Tony.Это работало для меня. Это на самом деле то, что я хочу. – Csharp

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