Sayfayı Yazdır | Pencereyi Kapat

Sql Komutu Hata

Nereden Yazdırıldığı: ERP Nedir? | Türkiye'nin ERP Forum Platformu
Kategori: SQL
Forum Adı: SQL Veri Tabanı İşlemleri
Forum Tanımlaması: Table,View,Trigger,SELECT,UPDATE,INSERT...
URL: http://www.erpne.org/forum_posts.asp?TID=3830
Tarih: 23 Kasım 2024 Saat 05:49
Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com


Konu: Sql Komutu Hata
Mesajı Yazan: barci26
Konu: Sql Komutu Hata
Mesaj Tarihi: 09 Ağustos 2014 Saat 13:37
Yyi günler ,

bir view hazyrlamy?tym ve bu güne kadar çaly?yyordu.
ancak ne olduysa bu gün enteresan bir hata vermeye ba?lady ve bir türlü çözemedim.
yardymlarynyzy bekliyorum.

Hata : 
Msg 512, Level 16, State 1, Line 1
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
 
SQL Kodu : 

SELECT 

A.DEPOKOD,

A.STOK_KODU,

B.STOK_ADI,

(SELECT MIN(TARIH) FROM NTS_WM_SERIMASTER X WHERE X.ISEMRINO=
(SELECT ISEMRINO FROM TBLISEMRI XX WHERE XX.REFISEMRINO =
(SELECT Y.ISEMRINO FROM TBLISEMRI Y
INNER JOIN TBLISEMRIEK YY ON Y.ISEMRINO =YY.ISEMRI 
WHERE Y.STOK_KODU=A.STOK_KODU AND YY.KT_S_NO=A.SERI_NO)
AND XX.STOK_KODU LIKE '%-3') AND X.SERI_NO=A.SERI_NO ) AS URETIM_TARIHI,

(SELECT MIN(TARIH)+14 FROM NTS_WM_SERIMASTER X WHERE X.ISEMRINO=
(SELECT ISEMRINO FROM TBLISEMRI XX WHERE XX.REFISEMRINO =
(SELECT Y.ISEMRINO FROM TBLISEMRI Y
INNER JOIN TBLISEMRIEK YY ON Y.ISEMRINO =YY.ISEMRI 
WHERE Y.STOK_KODU=A.STOK_KODU AND YY.KT_S_NO=A.SERI_NO)
AND XX.STOK_KODU LIKE '%-3') AND SERI_NO=A.SERI_NO ) AS SERBEST_TARIHI,

(SELECT PROJE_KODU FROM TBLISEMRI X

INNER JOIN TBLISEMRIEK Y ON X.ISEMRINO=Y.ISEMRI

WHERE X.STOK_KODU=A.STOK_KODU AND Y.KT_S_NO=A.SERI_NO) AS DURUM,

A.SERI_NO,

ISNULL(A.YEDEK1,'') AS HUCRE,

SUM(CASE WHEN A.GCKOD='G' THEN A.MIKTAR ELSE -A.MIKTAR END) BAKIYE,

(SELECT NETBAKIYE FROM TBLDEPDURUM X (NOLOCK) WHERE A.STOK_KODU=X.STOKKODU AND ISNULL(A.YEDEK1,'') =X.HUCREKODU) AS HUCRE_TOPLAM_BAKIYE



FROM TBLSERITRA A (NOLOCK) 

INNER JOIN TBLSTSABIT B (NOLOCK) ON A.STOK_KODU=B.STOK_KODU

LEFT OUTER JOIN NTS_WM_SERIMASTER C (NOLOCK) ON A.SERI_NO=C.SERI_NO AND A.STOK_KODU=C.STOK_KODU

---LEFT OUTER JOIN TBLISEMRI D (NOLOCK) ON A.STOK_KODU=D.STOK_KODU

---LEFT OUTER JOIN TBLISEMRIEK E (NOLOCK) ON D.ISEMRINO=E.ISEMRI AND LEFT(A.SERI_NO,LEN(A.SERI_NO)-2)=E.KT_S_NO

WHERE A.DEPOKOD IN ('7','8','27','32')

GROUP BY A.DEPOKOD,

A.STOK_KODU,

B.STOK_ADI,

---D.PROJE_KODU,

C.ACIK2,

A.SERI_NO,

ISNULL(A.YEDEK1,'')

HAVING SUM(CASE WHEN A.GCKOD='G' THEN A.MIKTAR ELSE -A.MIKTAR END)>0



Cevaplar:
Mesajı Yazan: rhan
Mesaj Tarihi: 09 Ağustos 2014 Saat 18:46
(SELECT ISEMRINO FROM TBLISEMRI XX WHERE XX.REFISEMRINO =
(SELECT Y.ISEMRINO FROM TBLISEMRI Y
INNER JOIN TBLISEMRIEK YY ON Y.ISEMRINO =YY.ISEMRI 
WHERE Y.STOK_KODU=A.STOK_KODU AND YY.KT_S_NO=A.SERI_NO)
AND XX.STOK_KODU LIKE '%-3') AND X.SERI_NO=A.SERI_NO ) AS URETIM_TARIHI,

bunlardan biri birden fazla de?er döndürüyor. en basit yolu

(SELECT top 1 ISEMRINO FROM TBLISEMRI XX WHERE XX.REFISEMRINO =
(SELECT Y.ISEMRINO FROM TBLISEMRI Y
INNER JOIN TBLISEMRIEK YY ON Y.ISEMRINO =YY.ISEMRI 
WHERE Y.STOK_KODU=A.STOK_KODU AND YY.KT_S_NO=A.SERI_NO)
AND XX.STOK_KODU LIKE '%-3') AND X.SERI_NO=A.SERI_NO ) AS URETIM_TARIHI,
yapmak, di?eri ise hangi kayyt oldu?unu bulmaktan geçer.


-------------
İnnova Antalya Proje Danışmanlık
Orhan ÇÖPÜROĞLU

0544 241 45 55
0242 311 45 56



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 11.10 - http://www.webwizforums.com
Copyright ©2001-2017 Web Wiz Ltd. - https://www.webwiz.net