2013-05-26 2 views
0

У меня массовый выпуск с SELECT заявление, используя множественные INNER JOINS, я задаюсь вопросом, правильно ли я быть на самом деле глупо с моей синтаксисом или нет!SQL Inner Регистрация не отберет данных на реальном сервере

Вот SQL заявление:

SELECT DISTINCT Users.ID FROM Users INNER JOIN File ON Users.ID=File.ID 
INNER JOIN Purchased ON File.ObjectID= Purchased.ObjectID 

В таблице пользователей содержит идентификатор:

1234 

Таблица Файл содержит идентификатор:

1234 

Он также содержит ObjectID от:

4567 

Приобретенная таблица содержит ObjectID из:

4567 

Проблема только кажется, происходит на живом сервере, на локальном сервере, этот запрос работает отлично!

+1

. , Лично я считаю, что 'Users.Id = Files.Id' является подозрительным. Например, я могу ожидать чего-то вроде «Users.UserId = Files.UserId». Кроме того, возвращает ли запрос во вторую систему ошибку? Являются ли типы данных одинаковыми в таблицах? Вы успешно подключаетесь ко второй системе? –

+0

Ошибок нет, все точно так же, и соединение хорошее! Является ли «Файл» зарезервированным ключевым словом? – James

+1

. , Если вы неправильно использовали зарезервированное слово, это повлияло бы на обе системы. –

ответ

0

Символьный пробельный символ включался в мои вставные операторы в 2 таблицах, а не в третьей таблице, что означает, что никакие строки никогда не будут выбраны!

0

Ваш синтаксис запроса выглядит нормально. Если он «работает» на вашем «локальном сервере», но не работает на вашем «живом сервере» (что бы это ни значило), таблицы в двух средах должны быть разными.

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