Форум: "Базы";
Текущий архив: 2003.07.21;
Скачать: [xml.tar.bz2];
ВнизTRxQuery Найти похожие ветки
← →
Jaxtor (2003-06-26 10:45) [0]Запрос выполняется(при установке свойства Active=true во время
Design mode):
select cast (Stock as Varchar(63)) as VENSTGR,
cast(NULL AS Integer) as PRODUCTID,
cast(NULL AS Integer) as VENSTGRID,
cast(NULL AS Varchar(63)) as PN,
cast(NULL AS Varchar(255)) as PRODUCT,
cast(NULL AS Varchar(63)) as COMMENT,
si.quantity as STOCK,
cast(NULL AS Integer) as FORSALE,
cast(NULL AS Integer) as TRANZIT1,
cast(NULL AS Integer) as TRANZIT2,
cast(NULL AS Integer) as TRANZIT3,
cast(NULL AS Integer) as TRANZIT4,
cast(NULL AS Double Precision) as PRICE,
cast(NULL AS Double Precision) as OLDPRICE,
cast(NULL AS TimeStamp) as PRICEUPDATEDATE,
cast(NULL AS TimeStamp) as DATA
from Stock s,stockitem si where (s.stockid=(select stockid from stockitem where saveprod_atrid=
(select Saveprod_atrid from savepr_atr where SaveProdID=
(select SaveProdID from saveprod where PN like "%3c%"))))
and (si.stockitemid=(select stockitemid from stockitem where saveprod_atrid=
(select Saveprod_atrid from savepr_atr where SaveProdID=
(select SaveProdID from saveprod where PN like "%3c%" ))))
union all
select gr.VenStGr, st.productid, st.venstgrid, st.PN,st.Product,st.comment, st.stock, st.forsale,st.tranzit1,st.tranzit2,st.tranzit3,st.tranzit4,st.price,st.oldprice,st.priceupdatedate,gr.data from VENSTOCK st,VENSTGR gr
where st.VenStGrId=gr.VenStGrId
%cond
order by 7 desc,
9 desc,
10 desc,
11 desc,
12 desc
Запрос не выполняется(при установке свойства Active=true во время Design mode):
select cast (Stock as Varchar(63)) as VENSTGR,
cast(NULL AS Integer) as PRODUCTID,
cast(NULL AS Integer) as VENSTGRID,
cast(NULL AS Varchar(63)) as PN,
cast(NULL AS Varchar(255)) as PRODUCT,
cast(NULL AS Varchar(63)) as COMMENT,
si.quantity as STOCK,
cast(NULL AS Integer) as FORSALE,
cast(NULL AS Integer) as TRANZIT1,
cast(NULL AS Integer) as TRANZIT2,
cast(NULL AS Integer) as TRANZIT3,
cast(NULL AS Integer) as TRANZIT4,
cast(NULL AS Double Precision) as PRICE,
cast(NULL AS Double Precision) as OLDPRICE,
cast(NULL AS TimeStamp) as PRICEUPDATEDATE,
cast(NULL AS TimeStamp) as DATA
from Stock s,stockitem si where (s.stockid=(select stockid from stockitem where saveprod_atrid=
(select Saveprod_atrid from savepr_atr where SaveProdID=
(select SaveProdID from saveprod %newcond))))
and (si.stockitemid=(select stockitemid from stockitem where saveprod_atrid=
(select Saveprod_atrid from savepr_atr where SaveProdID=
(select SaveProdID from saveprod %newcond))))
union all
select gr.VenStGr, st.productid, st.venstgrid, st.PN,st.Product,st.comment, st.stock, st.forsale,st.tranzit1,st.tranzit2,st.tranzit3,st.tranzit4,st.price,st.oldprice,st.priceupdatedate,gr.data from VENSTOCK st,VENSTGR gr
where st.VenStGrId=gr.VenStGrId
%cond
order by 7 desc,
9 desc,
10 desc,
11 desc,
12 desc
Ошибка: multiple rows in singleton select. Почему такое происходит?
← →
Zacho (2003-06-26 10:48) [1]Потому что в макросе %newcond у тебя находится условие, при котором select SaveProdID from saveprod %newcond возвращает несколько записей. А должен только одну.
← →
Jaxtor (2003-06-26 10:50) [2]>Zacho У меня во время выполнения программы задается условие newcond! А не во время проектирования!!
← →
Zacho (2003-06-26 10:53) [3]
> Jaxtor © (26.06.03 10:50)
Ну и что тогда должен вернуть такой запрос в design time ?
← →
Jaxtor (2003-06-26 10:54) [4]>Zacho © (26.06.03 10:53)
Active должно быть равным true в design time.
← →
Johnmen (2003-06-26 10:56) [5]>Jaxtor © (26.06.03 10:50)
Как задается ?
← →
Jaxtor (2003-06-26 10:59) [6]>Johnmen © (26.06.03 10:56)
А я думаю, что для Design time не важно, как задается %newcond.
Или я не прав?
← →
Zacho (2003-06-26 11:03) [7]
> Jaxtor © (26.06.03 10:54)
Нафига ? Но если сильно надо, то тогда и макрос надо задавать тоже в design time, иначе запрос получается неправильный.
← →
Jaxtor (2003-06-26 11:06) [8]Почему же тогда этот запрос выполняется в Design time:?
select cast (Stock as Varchar(63)) as VENSTGR,
cast(NULL AS Integer) as PRODUCTID,
cast(NULL AS Integer) as VENSTGRID,
cast(NULL AS Varchar(63)) as PN,
cast(NULL AS Varchar(255)) as PRODUCT,
cast(NULL AS Varchar(63)) as COMMENT,
si.quantity as STOCK,
cast(NULL AS Integer) as FORSALE,
cast(NULL AS Integer) as TRANZIT1,
cast(NULL AS Integer) as TRANZIT2,
cast(NULL AS Integer) as TRANZIT3,
cast(NULL AS Integer) as TRANZIT4,
cast(NULL AS Double Precision) as PRICE,
cast(NULL AS Double Precision) as OLDPRICE,
cast(NULL AS TimeStamp) as PRICEUPDATEDATE,
cast(NULL AS TimeStamp) as DATA
from Stock s,stockitem si where (s.stockid=(select stockid from stockitem where saveprod_atrid=
(select Saveprod_atrid from savepr_atr where SaveProdID=
(select SaveProdID from saveprod where PN like "%3c%"))))
and (si.stockitemid=(select stockitemid from stockitem where saveprod_atrid=
(select Saveprod_atrid from savepr_atr where SaveProdID=
(select SaveProdID from saveprod where PN like "%3c%" ))))
union all
select gr.VenStGr, st.productid, st.venstgrid, st.PN,st.Product,st.comment, st.stock, st.forsale,st.tranzit1,st.tranzit2,st.tranzit3,st.tranzit4,st.price,st.oldprice,st.priceupdatedate,gr.data from VENSTOCK st,VENSTGR gr
where st.VenStGrId=gr.VenStGrId
%cond
order by 7 desc,
9 desc,
10 desc,
11 desc,
12 desc
← →
Zacho (2003-06-26 11:06) [9]
> Jaxtor © (26.06.03 10:59)
Не прав. Какая разница, run time или design time ? Тебе надо выполнить запрос, и синтаксис запроса должен быть верный.
P.S. Как-то этот запрос слишком монстроидально выглядит, уверен что вместьо многочисленных вложенных селектов можно сделать join, и работать это будет быстрее.
← →
Zacho (2003-06-26 11:09) [10]
> Jaxtor © (26.06.03 11:06)
Потому что select SaveProdID from saveprod where PN like "%3c%" возвращает одну запись, как и надо (вероятно случайно, пересмотри логику работы запроса, если он вернет больше одной записи, то получишь ту же ошибку)
А если where отсутствует - получаешь набор записей, и в результате - ошибку.
← →
Johnmen (2003-06-26 11:10) [11]Jaxtor © (26.06.03 11:06)
Потому, что макрос cond="", и текст запроса верен.
>Zacho © (26.06.03 11:06)
Насчет монстроидальности - это верно...:)
← →
Jaxtor (2003-06-26 11:12) [12]Ладно, спасибо!
Дали пищу для размышлений.
← →
NDeu (2003-06-26 13:01) [13]Вместо
> ...id =(select ...
Пиши ...id in (select ...
← →
Jaxtor (2003-06-26 13:50) [14]>NDeu © (26.06.03 13:01)
Ладно
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.07.21;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.162 c