2012-05-10 3 views
1

Следующий код SQL возвращается со всем выбранным значением NULL, а event_size равен 0. Мои таблицы настроены правильно для следующих критериев. Что я здесь делаю неправильно? Благодарим за помощь.Вывод SQL-запроса

SELECT table_one.event_id AS event_id, table_one.event_name AS event_name, table_one.event_address AS event_address, COUNT(table_two.user_id) AS event_size 
FROM table_one 
JOIN table_two 
ON table_one.event_id = table_two.event_id 
WHERE (
     table_one.event_start_date = '5/10/2012' 
    OR table_one.event_mid_date = '5/10/2012' 
    OR table_one.event_end_date = '5/10/2012' 
) 
ORDER BY event_size DESC 
+5

Не связано, но вы могли бы сделать так: «WHERE» 5/10/2012 'IN (table_one.event_start_date, table_one.event_mid_date, table_one.event_end_date' – zimdanen

+2

** Что ** система баз данных и какая версия ** SQL ** - это только язык структурированных запросов - язык, используемый многими системами баз данных. SQL - это ** НЕ ** продукт базы данных ... такие вещи, как это очень часто зависят от поставщика, поэтому нам действительно нужно знать, какую систему баз данных вы используете .... –

+0

Непонятно, что вы пытаетесь выполнить. Почему вы присоединяетесь ко второй таблице? Почему вы подсчитываете идентификаторы, когда можете использовать 'count (0)'? order by? –

ответ

0

Попробуйте добавить группу по статье:

group by table_one.event_id, table_one.event_name, table_one.event_address 

Это должно делать то, что вы хотите.

-1

Всегда используйте один из универсальных форматов даты, не являющийся региональным.

YYYYMMDD или YYYY-MM-DD

+0

Полезно знать, но это не могло быть проблемой. Моя дата может быть «сегодня» или «завтра», если строка была сохранена в моем db таким образом. –

+1

Я добавил комментарий к вопросу. после того, как я увидел ваш ответ другим. Как и они, я думал, что event_start_date будет датой ... –

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