Je ne suis pas sûr de savoir comment décrire au mieux ce que je suis en train de faire (ou la rechercher d'ailleurs) mais je vais essayer.sql requête pour retourner des éléments basés sur le texte et le groupe ID
J'ai une requête préexistante (procédure stockée) qui renvoie des éléments basés sur 3 ID spécifiques. Ce que je veux faire est d'être capable de réduire encore les résultats basés sur une colonne dans les résultats ayant exactement la même chaîne. Je souhaite que la requête renvoie le nombre d'éléments dans lesquels une colonne donnée contient exactement les mêmes valeurs.
Pour une raison quelconque, je suis confus sur la façon de faire cela, je dessine un vide complet à ce sujet.
Voici un échantillon des données actuelles:
PROGRAMID DAY TIMESLOT SlotInfoDescription TITLE
2688 4 13:00-16:30 Free Time NULL
2688 4 16:30-17:10 NULL Joint Session with Search Engines: Machine Learning for Social Media Analytics
2689 4 13:10-16:00 Free Time NULL
2689 4 16:30-17:10 NULL Joint Session with Search Engines: Machine Learning for Social Media Analytics
2300 4 12:00-13:30 Free Time
2300 4 16:30-17:10 NULL Joint Session with Search Engines: Machine Learning for Social Media Analytics
Voici les résultats que je veux (basé sur le titre étant la même):
count = 1
Voici la requête en cours:
SELECT
WS.PROGRAMID,
WS.ITEMID,
WS.DAY,
CASE datepart(weekday, dateadd(day, WS.DAY - 1, WE.EVENTSTARTDATE))
WHEN 1 THEN 'Sun'
WHEN 2 THEN 'Mon'
WHEN 3 THEN 'Tue'
WHEN 4 THEN 'Wed'
WHEN 5 THEN 'Thu'
WHEN 6 THEN 'Fri'
WHEN 7 THEN 'Sat'
ELSE 'N/A'
END
+ ' ' + Convert(char(12), dateadd(day, WS.DAY - 1, WE.EVENTSTARTDATE), 101) as Date,
WS.TIMESLOT,
WS.SLOTTYPE,
WSSTC.DESCRIPTION AS SlotTypeDescription,
WS.SLOTINFO,
WSSIC.DESCRIPTION AS SlotInfoDescription,
ISNULL(WSI.TALKID, 0) AS TalkID,
LEFT(WPI.FIRSTNAME, 10) + ' ' + LEFT(WPI.LASTNAME, 10) + ' (' + LEFT(WEA.INSTITUTION, 10) + ')' + ' - ' + LEFT(WSI.TITLE, 10) + '...' + RIGHT(WSI.TITLE, 10) AS Talk,
WPI.FIRSTNAME,
WPI.LASTNAME,
WEA.INSTITUTION,
WSI.AUTHORLINE,
WSI.TITLE,
LEFT(WSI.ABSTRACT, 1) AS Abstract,
WS.LOCATION,
WS.ADDENDUM
FROM
DBO.WEBSPEAKERINFO WSI
INNER JOIN
DBO.WEBPERSONALINFO WPI
ON
WSI.USERID = WPI.USERID
INNER JOIN
DBO.WEBEVENTAFFILIATION WEA
ON
WPI.USERID = WEA.USERID
AND
WEA.EVENTID IN @EVENTID
RIGHT OUTER JOIN
DBO.WEBSCHEDULESLOTTYPECODES WSSTC
RIGHT OUTER JOIN
DBO.WEBSCHEDULES WS
ON
WSSTC.SLOTTYPE = WS.SLOTTYPE
ON
WSI.TALKID = WS.TALKID
LEFT OUTER JOIN
DBO.WEBSCHEDULESLOTINFOCODES WSSIC
ON
WS.SLOTINFO = WSSIC.SLOTINFO
INNER JOIN
DBO.WEBEVENTS WE
ON
WE.EVENTID IN @EVENTID
WHERE
WS.PROGRAMID IN @EVENTID
AND
WS.DAY = @DAY
ORDER BY
DAY,
TIMESLOT
s'il vous plaît fournir un échantillon des données, la sortie de courant et la sortie désirée. – akf