Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2000 Forums
 SQL Server Development (2000)
 can u make it shorter

Author  Topic 

hannebri
Starting Member

1 Post

Posted - 2005-06-02 : 08:35:50
hello,

can u help me to short it? pls
i tried case as well, but i still have a double query!


SELECT T1.DocEntry
FROM ODLN T0 INNER JOIN DLN1 T1 ON T0.DocEntry = T1.DocEntry
WHERE T0.DocNum = '100' and T1.U_Teillief ='ja')


here is the hole one.

thanx a lot

IF
exists (
SELECT T2.docentry
FROM ODLN T0 INNER JOIN DLN1 T1 ON T0.DocEntry = T1.DocEntry RIGHT JOIN RDR1 T2 on T2.DocEntry = T1.BaseEntry
WHERE T0.DocNum='100' and T1.BaseType = '17' and (T2.TrgetEntry is Null OR T2.TrgetEntry <> T1.DocEntry))

IF
exists (
SELECT T1.DocEntry
FROM ODLN T0 INNER JOIN DLN1 T1 ON T0.DocEntry = T1.DocEntry
WHERE T0.DocNum = '100' and T1.U_Teillief ='ja')

SELECT 'Teillieferung Artikel & Menge betreffend'
ELSE
SELECT 'Teillieferung Artikel betreffend'
ELSE
IF
exists (
SELECT T1.DocEntry
FROM ODLN T0 INNER JOIN DLN1 T1 ON T0.DocEntry = T1.DocEntry
WHERE T0.DocNum = '100' and T1.U_Teillief ='ja')

SELECT 'Teillieferung Menge betreffend'
ELSE
IF
not exists (
SELECT T1.DocEntry
FROM ODLN T0 INNER JOIN DLN1 T1 ON T0.DocEntry = T1.DocEntry
WHERE T0.DocNum = '100' and (T1.U_Teillief ='ja' OR T1.U_Teillief ='nein')

SELECT ''
ELSE
SELECT 'keine Teillieferung'

DonAtWork
Master Smack Fu Yak Hacker

2167 Posts

Posted - 2005-06-02 : 13:33:27
Declare @foo int

select @foo = count(T1.DocEntry)
FROM ODLN T0
INNER JOIN DLN1 T1
ON T0.DocEntry = T1.DocEntry
WHERE T0.DocNum = '100' and T1.U_Teillief ='ja'


IF
exists (
SELECT T2.docentry
FROM ODLN T0 INNER JOIN DLN1 T1 ON T0.DocEntry = T1.DocEntry RIGHT JOIN RDR1 T2 on T2.DocEntry = T1.BaseEntry
WHERE T0.DocNum='100' and T1.BaseType = '17' and (T2.TrgetEntry is Null OR T2.TrgetEntry <> T1.DocEntry))


BEGIN
IF @foo > 0
BEGIN
SELECT 'Teillieferung Artikel & Menge betreffend'
END
ELSE
BEGIN
SELECT 'Teillieferung Artikel betreffend'
END
END

ELSE

IF @foo > 0

BEGIN
SELECT 'Teillieferung Menge betreffend'
END

ELSE

BEGIN
SELECT ''
END


Trying to follow the logic, i cannot ever see you getting to this line:
SELECT 'keine Teillieferung'
Because of your exist clause. If it does exist, it will select 'Teillieferung Menge betreffend'
Otherwise, it will drop to the NOT exist clause, which WILL be true, and it will select ''


*need more coffee*
SELECT * FROM Users WHERE CLUE > 0
(0 row(s) affected)
Go to Top of Page
   

- Advertisement -