Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Вниз

Помогите найти ошибка - кроме головы? =)   Найти похожие ветки 

 
Владий ©   (2004-03-02 11:12) [0]

Есть следующий код:

SELECT Payments.*, LastCoursEUR.Cours*Payments.Sum AS SumPlanRub, Polices.*
FROM Polices INNER JOIN (LastCoursEUR INNER JOIN Payments ON LastCoursEUR.Val=Payments.Val) ON Polices.P_Num=Payments.Police
WHERE ((Payments.Val)="EUR") And (Payments.Payed =0) And (Payments.Date<Now())
Union
SELECT Payments.*, LastCoursUSD.Cours*Payments.Sum AS SumPlanRub, Polices.*
FROM Polices INNER JOIN (LastCoursUSD INNER JOIN Payments ON LastCoursUSD.Val=Payments.Val) ON Polices.P_Num=Payments.Police
WHERE ((Payments.Val)="EUR") And (Payments.Payed =0) And (Payments.Date<Now())
UNION
SELECT Payments.*, Payments.Sum AS SumPlanRub, Polices.*
FROM Polices INNER JOIN Payments ON Polices.P_Num=Payments.Police
WHERE ((Payments.Val)="EUR") And (Payments.Payed =0) And (Payments.Date<Now());

Не работает, зараза... Причем, подозреваю, что из-за
"(Payments.Date<Now())" - такие записи точно есть, хотя может в написании ошибся? Но на ошибки ругани нет...

Хорошей Удачи!
Владий // ICQ: 47659886


 
Reindeer Moss Eater ©   (2004-03-02 11:17) [1]

Надо верить движку.
Нет записей в выборке - значит нет их.


 
Владий ©   (2004-03-02 11:23) [2]

Есть, в том-то и дело... 100% есть запись от 29.01.2004, сегодня - 02.03.04 => должно быть, а нету...

Хорошей Удачи!
Владий // ICQ: 47659886


 
sniknik ©   (2004-03-02 11:23) [3]

> такие записи точно есть
в одной таблице может быть, но в сумме условие не сходится, их (условий) у тебя довольно много, двойное обьеденение, тем более с INNER, что значит если хоть по одной таблице подходяших записей нет то нет их и в общем.
а Now правильно.


 
Johnmen ©   (2004-03-02 11:28) [4]

А так ?
SELECT Payments.*, LastCoursEUR.Cours*Payments.Sum AS SumPlanRub, Polices.*
FROM Payments
JOIN Polices ON Polices.P_Num=Payments.Police
JOIN LastCoursEUR ON LastCoursEUR.Val=Payments.Val
WHERE (Payments.Val="EUR") And (Payments.Payed =0) And (Payments.Date<Now())
UNION
SELECT Payments.*, LastCoursUSD.Cours*Payments.Sum AS SumPlanRub, Polices.*
FROM Payments
JOIN Polices ON Polices.P_Num=Payments.Police
JOIN LastCoursUSD ON LastCoursUSD.Val=Payments.Val
WHERE (Payments.Val="EUR") And (Payments.Payed =0) And (Payments.Date<Now())
UNION
SELECT Payments.*, Payments.Sum AS SumPlanRub, Polices.*
FROM Payments
JOIN Polices ON Polices.P_Num=Payments.Police
WHERE (Payments.Val="EUR") And (Payments.Payed =0) And (Payments.Date<Now())


 
sniknik ©   (2004-03-02 11:43) [5]

Johnmen ©   (02.03.04 11:28) [4]
а так в access работать не будет (join не вложенный, он не понимает), тогда уж лутше просто в условии равенство указать (неявный джойн сделать)


 
Reindeer Moss Eater ©   (2004-03-02 11:47) [6]

В каждом из запросов 3 условия по AND

Последовательно убираем по одному и начинаем видеть какое именно приводит к пустой выборке.


 
sniknik ©   (2004-03-02 11:54) [7]

Reindeer Moss Eater ©   (02.03.04 11:47) [6]
вместе с джойнами 5 AND.


 
Владий ©   (2004-03-02 11:56) [8]

Спасибо за ответы - не нашел что приводило к пустой выборке - но заработало... видимо опять где-то пробел пропустил...



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.037 c
3-1078895405
Janbolat
2004-03-10 08:10
2004.04.04
Опять про печать


3-1078807103
Janbolat
2004-03-09 07:38
2004.04.04
Application path


1-1079381638
Destroyer
2004-03-15 23:13
2004.04.04
Несоответствие типов


14-1078486964
Denis_Visma
2004-03-05 14:42
2004.04.04
Где найти компоненты Developer Express?


4-1077532436
VID
2004-02-23 13:33
2004.04.04
Все ищем Handle...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский