0
這是程序表結果爲什麼我在SQL中爲同一區域獲取多個記錄?
1 4 Uttar Pradesh 32 1
2 4 Uttar Pradesh 32 1
3 4 Uttar Pradesh 32 1
4 4 Uttar Pradesh 32 1
5 4 Uttar Pradesh 32 1
6 4 Uttar Pradesh 32 1
7 4 Uttar Pradesh 32 1
8 4 Uttar Pradesh 32 1
9 4 Uttar Pradesh 32 1
10 4 Uttar Pradesh 32 1
11 4 Uttar Pradesh 32 1
12 4 Uttar Pradesh 32 1
13 29 Delhi 1 0
14 4 Uttar Pradesh 32 1
15 4 Uttar Pradesh 32 1
16 4 Uttar Pradesh 32 1
17 4 Uttar Pradesh 32 1
18 4 Uttar Pradesh 32 1
19 4 Uttar Pradesh 32 1
20 4 Uttar Pradesh 32 1
21 4 Uttar Pradesh 32 1
22 4 Uttar Pradesh 32 1
23 4 Uttar Pradesh 32 1
24 4 Uttar Pradesh 32 1
25 4 Uttar Pradesh 32 1
26 4 Uttar Pradesh 32 1
27 4 Uttar Pradesh 32 1
28 4 Uttar Pradesh 32 1
29 4 Uttar Pradesh 32 1
30 4 Uttar Pradesh 32 1
31 4 Uttar Pradesh 32 1
32 4 Uttar Pradesh 32 1
33 4 Uttar Pradesh 32 1
我想從一個只顯示一個記錄ZONE
This is my Stored Procedure,
ALTER PROC [dbo].[SUMMARY_DETAIL_USER]
-- SUMMARY_DETAIL_USER 1,10,'0',''
@PAGENO INT,
@PAGESIZE INT,
@NAME VARCHAR(50),
@SEARCH_NAME VARCHAR(50)
AS
DECLARE @ZONE_ID INT, @count_proj int,@count_prop int
create table #temp
(
SNO INT IDENTITY,
ZONE INT,
CITY_NAME VARCHAR(50),
COUNT_CITY_PROJECT int ,
PROPERTY_COUNT int
)
IF(@NAME = '0')
BEGIN
INSERT INTO #temp(ZONE)
SELECT PROJ.ZONE FROM PROJECTS PROJ LEFT JOIN PROPERTIES PROP ON PROJ.ZONE = PROP.ZONE_ID
UPDATE #temp SET CITY_NAME=(SELECT Zone_Name FROM Zone_Master WHERE Zone_ID = #temp.ZONE)
UPDATE #temp SET COUNT_CITY_PROJECT=(SELECT COUNT(*) FROM PROJECTS WHERE Zone = #temp.ZONE)
UPDATE #temp SET PROPERTY_COUNT=(SELECT COUNT(*) FROM PROPERTIES WHERE ZONE_ID = #temp.ZONE)
SELECT * FROM #TEMP
SELECT LAT, LONG,STATUS,PROJECT_NAME,PROJECT_CODE FROM PROJECTS WHERE ZONE IN (SELECT ZONE FROM #temp)
--Select @count_proj = (SELECT COUNT(*) FROM PROJECTS WHERE
SELECT COUNT(*) FROM #TEMP
END
ELSE
BEGIN
INSERT INTO #temp(ZONE)
SELECT PROJ.ZONE FROM PROJECTS PROJ LEFT JOIN PROPERTIES PROP ON PROJ.ZONE = PROP.ZONE_ID
UPDATE #temp SET CITY_NAME=(SELECT Zone_Name FROM Zone_Master WHERE Zone_ID = #temp.ZONE)
UPDATE #temp SET COUNT_CITY_PROJECT=(SELECT COUNT(*) FROM PROJECTS WHERE Zone = #temp.ZONE)
UPDATE #temp SET PROPERTY_COUNT=(SELECT COUNT(*) FROM PROPERTIES WHERE ZONE_ID = #temp.ZONE)
SELECT * FROM #TEMP WHERE CITY_NAME LIKE '%'[email protected]+'%'enter code here
SELECT LAT, LONG,STATUS,PROJECT_NAME,PROJECT_CODE FROM PROJECTS WHERE ZONE IN (SELECT ZONE FROM #temp)`enter code here`
SELECT COUNT(*) FROM #TEMP
END
你嘗試過使用'distinct'嗎? – Max
您加入項目的屬性。如果你運行'SELECT PROJ.ZONE,PROP。* FROM PROJECTS PROJ LEFT JOIN PROPERTIES PROP PROJ.ZONE = PROP.ZONE_ID',你會得到一個完美的視圖,你爲什麼得到多行... – rene
使用不同的我得到了結果 –