Перейти к содержимому


Фотография
- - - - -

sql access


  • Пожалуйста, авторизуйтесь, чтобы ответить
6 ответов в этой теме

#1 Evgen

Evgen

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 3 430 сообщений
502
Очень хороший
  • Пол:Мужчина
  • Город:Пр. М. Жукова 33

Опубликовано 06 Сентябрь 2012 - 16:28

ни как не могу понять, что я делаю не так?


SELECT * FROM (Terms INNER JOIN TermsTo ON Terms.TermID = TermsTo.TermID) INNER JOIN Posts ON TermsTo.ObjectID = Posts.PostID
Where Posts.State=1 AND (Posts.Type=0 OR Posts.Type=3) AND TermsTo.TermID = '1' AND Terms.Type='category'

Может проблема в операции объединения? Как можно решить вопрос не добавляя дополнительные столбцы?
  • 0
Размещенное изображение
Размещенное изображение

#2 GeX

GeX

    Super True Member

  • Moderators
  • PipPipPipPipPip
  • 11 350 сообщений
111
Очень хороший
  • Пол:Мужчина
  • Город:Ленинский 110/2

Опубликовано 06 Сентябрь 2012 - 16:42

А зачем первое условие в скобках ? Да еще и неправильно выделенное.
  • 0
Я в контакте Ты должен быть сильным, иначе, зачем тебе быть
Размещенное изображениеРазмещенное изображение
Размещенное изображениеРазмещенное изображение

#3 Beowulf

Beowulf

    Злобный программист

  • True Members
  • PipPipPipPipPip
  • 1 859 сообщений
195
Очень хороший
  • Пол:Мужчина
  • Интересы:Программирую все, что можно

Опубликовано 06 Сентябрь 2012 - 17:25

структуру таблиц и что нужно выдрать в студию!

вообще подозреваю:

SELECT * FROM Terms 
  INNER JOIN TermsTo ON Terms.TermID = TermsTo.TermID
  INNER JOIN Posts ON TermsTo.ObjectID = Posts.PostID
WHERE 
  Posts.State = 1 AND
  (Posts.Type = 0 OR Posts.Type = 3) AND
  TermsTo.TermID = '1' AND
  Terms.Type = 'category';

  • 0

#4 Evgen

Evgen

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 3 430 сообщений
502
Очень хороший
  • Пол:Мужчина
  • Город:Пр. М. Жукова 33

Опубликовано 09 Сентябрь 2012 - 15:53

На самом деле это автоматически сгенерированный запрос из Access 2010 =) так что я не могу быть не прав.

GeX, вероятно так аксес генерирует запросы.
Beowulf, в корне не верно. в аксесе есть конструктор запросов. после визуального постороения запроса, перейди в режим sql и увидишь, что не совсем прав.

сама база
http://xserv4.szf.su/bd/mydb.mdb
  • 0
Размещенное изображение
Размещенное изображение

#5 DarkTwin

DarkTwin

    Пернатый пЫнгвЫн

  • True Members
  • PipPipPipPipPip
  • 3 227 сообщений
293
Очень хороший
  • Пол:Мужчина

Опубликовано 10 Сентябрь 2012 - 09:08

Evgen, Так а что нужно сделать то ?

Beowulf, в корне не верно. в аксесе есть конструктор запросов. после визуального построения запроса, перейди в режим sql и увидишь, что не совсем прав.


Аксесс всегда был недохренью.
То что написал Beowulf это то же самое что и у тебя только написано в правильном форматировании T-SQL

TermsTo.TermID = '1' AND

единица наверное без кавычек так как поле счетчик, а по человечески int.

(Posts.Type = 0 OR Posts.Type = 3)

В таблице нет 3. только 0 и 1
  • 1

"Люди забыли эту истину, - сказал Лис, - но ты не забывай: ты навсегда в ответе за всех, кого приручил..."

Антуан де Сент-Экзюпери. Маленький принц


#6 Evgen

Evgen

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 3 430 сообщений
502
Очень хороший
  • Пол:Мужчина
  • Город:Пр. М. Жукова 33

Опубликовано 10 Сентябрь 2012 - 12:23

Evgen, Так а что нужно сделать то ?


Аксесс всегда был недохренью.
То что написал Beowulf это то же самое что и у тебя только написано в правильном форматировании T-SQL
единица наверное без кавычек так как поле счетчик, а по человечески int.


В таблице нет 3. только 0 и 1

1) к вопросу не отностится. сейчас нужен именно аксес
2) и не подходит к аксесу, следовательно абсолютно бесполезно
3) не понимаю к чему ты это написал? Оно по большому счету не нужно:

SELECT * FROM (Terms INNER JOIN TermsTo ON Terms.TermID = TermsTo.TermID) INNER JOIN Posts ON TermsTo.ObjectID = Posts.PostID
Where TermsTo.TermID = '1'

ладно, видимо самый простой способ решить проблему, перейти на mssql.
  • 0
Размещенное изображение
Размещенное изображение

#7 DarkTwin

DarkTwin

    Пернатый пЫнгвЫн

  • True Members
  • PipPipPipPipPip
  • 3 227 сообщений
293
Очень хороший
  • Пол:Мужчина

Опубликовано 10 Сентябрь 2012 - 15:42

2) и не подходит к аксесу, следовательно абсолютно бесполезно

С каких пор аксесс не понимает sql запросы ?

3) не понимаю к чему ты это написал? Оно по большому счету не нужно:

А откель нам известно что нужно.
Ты же не написал что должно получится и что выходит сейчас.

Не знаю.. скрины что ли покажи.
А то как говорил мой один знакомый
"Простите, но все телепаты сейчас в отпуске"

Я допер что за ошибка... несовпадение типов данных
  • 0

"Люди забыли эту истину, - сказал Лис, - но ты не забывай: ты навсегда в ответе за всех, кого приручил..."

Антуан де Сент-Экзюпери. Маленький принц



Посетителей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных пользователей