Главная страница
    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.036 c
4-1074971431
DNS
2004-01-24 22:10
2004.04.04
Popup над tray в XP


3-1078374316
OlegM
2004-03-04 07:25
2004.04.04
Подскажите с TQRExpr


8-1070710296
Astarot
2003-12-06 14:31
2004.04.04
Модем + звук + телефон


3-1078895672
Janbolat
2004-03-10 08:14
2004.04.04
BDE своими ручками


7-1068364658
Magical
2003-11-09 10:57
2004.04.04
Как получить изображение из видиопамяти





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский