Click here to Skip to main content
15,885,904 members
Home / Discussions / Database
   

Database

 
GeneralRe: SQL Remote Connection Problem - UPDATE Pin
Kevin Marois19-Nov-19 7:39
professionalKevin Marois19-Nov-19 7:39 
GeneralRe: SQL Remote Connection Problem - UPDATE Pin
Richard Deeming19-Nov-19 7:51
mveRichard Deeming19-Nov-19 7:51 
QuestionDate format in SQL Database export to Excel 23/01/1990 00:00:00 instat of 23/01/1990 Pin
jan Meeling18-Aug-19 22:15
jan Meeling18-Aug-19 22:15 
QuestionRe: Date format in SQL Database export to Excel 23/01/1990 00:00:00 instat of 23/01/1990 Pin
Richard MacCutchan18-Aug-19 22:54
mveRichard MacCutchan18-Aug-19 22:54 
AnswerRe: Date format in SQL Database export to Excel 23/01/1990 00:00:00 instat of 23/01/1990 Pin
jan Meeling19-Aug-19 1:39
jan Meeling19-Aug-19 1:39 
GeneralRe: Date format in SQL Database export to Excel 23/01/1990 00:00:00 instat of 23/01/1990 Pin
Victor Nijegorodov19-Aug-19 3:20
Victor Nijegorodov19-Aug-19 3:20 
GeneralRe: Date format in SQL Database export to Excel 23/01/1990 00:00:00 instat of 23/01/1990 Pin
Richard MacCutchan19-Aug-19 4:23
mveRichard MacCutchan19-Aug-19 4:23 
AnswerRe: Date format in SQL Database export to Excel 23/01/1990 00:00:00 instat of 23/01/1990 Pin
Victor Nijegorodov19-Aug-19 0:19
Victor Nijegorodov19-Aug-19 0:19 
GeneralRe: Date format in SQL Database export to Excel 23/01/1990 00:00:00 instat of 23/01/1990 Pin
jan Meeling19-Aug-19 1:43
jan Meeling19-Aug-19 1:43 
AnswerRe: Date format in SQL Database export to Excel 23/01/1990 00:00:00 instat of 23/01/1990 Pin
Eddy Vluggen19-Aug-19 1:12
professionalEddy Vluggen19-Aug-19 1:12 
GeneralRe: Date format in SQL Database export to Excel 23/01/1990 00:00:00 instat of 23/01/1990 Pin
jan Meeling19-Aug-19 1:55
jan Meeling19-Aug-19 1:55 
GeneralRe: Date format in SQL Database export to Excel 23/01/1990 00:00:00 instat of 23/01/1990 Pin
Eddy Vluggen19-Aug-19 2:03
professionalEddy Vluggen19-Aug-19 2:03 
GeneralRe: Date format in SQL Database export to Excel 23/01/1990 00:00:00 instat of 23/01/1990 Pin
jan Meeling20-Aug-19 1:02
jan Meeling20-Aug-19 1:02 
GeneralRe: Date format in SQL Database export to Excel 23/01/1990 00:00:00 instat of 23/01/1990 Pin
Richard MacCutchan20-Aug-19 4:20
mveRichard MacCutchan20-Aug-19 4:20 
GeneralRe: Date format in SQL Database export to Excel 23/01/1990 00:00:00 instat of 23/01/1990 Pin
jan Meeling20-Aug-19 7:39
jan Meeling20-Aug-19 7:39 
GeneralRe: Date format in SQL Database export to Excel 23/01/1990 00:00:00 instat of 23/01/1990 Pin
Richard MacCutchan20-Aug-19 21:17
mveRichard MacCutchan20-Aug-19 21:17 
AnswerRe: Date format in SQL Database export to Excel 23/01/1990 00:00:00 instat of 23/01/1990 Pin
jan Meeling20-Aug-19 1:03
jan Meeling20-Aug-19 1:03 
QuestionProduct Architecture Pin
Chiranjana13-Aug-19 0:50
Chiranjana13-Aug-19 0:50 
AnswerRe: Product Architecture Pin
David Mujica13-Aug-19 3:50
David Mujica13-Aug-19 3:50 
GeneralRe: Product Architecture Pin
Chiranjana13-Aug-19 5:05
Chiranjana13-Aug-19 5:05 
AnswerRe: Product Architecture Pin
Mycroft Holmes13-Aug-19 12:50
professionalMycroft Holmes13-Aug-19 12:50 
Questioncookies vs sessions for storing users id for ecommerce site Pin
djtrixy2-Aug-19 21:48
djtrixy2-Aug-19 21:48 
AnswerRe: cookies vs sessions for storing users id for ecommerce site Pin
Afzaal Ahmad Zeeshan3-Aug-19 4:02
professionalAfzaal Ahmad Zeeshan3-Aug-19 4:02 
QuestionI didn't design it but I need to get data out of it. Pin
rnbergren2-Aug-19 4:23
rnbergren2-Aug-19 4:23 
AnswerRe: I didn't design it but I need to get data out of it. Pin
Richard Deeming2-Aug-19 4:51
mveRichard Deeming2-Aug-19 4:51 
Not particularly simple, since different rows could have different "attributes" within the categories column.

Something like this should work:
SQL
DROP TABLE IF EXISTS #T;

CREATE TABLE #T
(
    ID int, 
    PropertyName varchar(50),
    PropertyValue varchar(50)
);

INSERT INTO #T
(
    ID,
    PropertyName,
    PropertyValue
)
SELECT
    T.ID,
    LTRIM(LEFT(V.value, CHARINDEX(':', V.value) - 1)) As PropertyName,
    LTRIM(SUBSTRING(V.value, CHARINDEX(':', V.value) + 1, LEN(V.Value))) As PropertyValue
FROM
    YourTable As T
    CROSS APPLY string_split(T.Categories, ',') As V
;

DECLARE @columns nvarchar(max) = STUFF
(
    (
        SELECT DISTINCT ',' + QUOTENAME(PropertyName) 
        FROM #T 
        FOR XML PATH(''), TYPE
    ).value('.', 'nvarchar(max)')
    , 1, 1, ''
);

DECLARE @query nvarchar(max) = N'SELECT ID, ' + @columns 
    + N' FROM (SELECT ID, PropertyName, PropertyValue FROM #T) As T'
    + N' PIVOT (Max(PropertyValue) FOR PropertyName In (' + @columns + N')) As P';

EXECUTE (@query);

DROP TABLE #T;
The @query will look something like:
SQL
SELECT ID, [Phone],[Street],[Town] 
FROM (SELECT ID, PropertyName, PropertyValue FROM #T) As T 
PIVOT (Max(PropertyValue) FOR PropertyName In ([Phone],[Street],[Town])) As P

STRING_SPLIT (Transact-SQL) - SQL Server | Microsoft Docs[^]
Using PIVOT and UNPIVOT - SQL Server | Microsoft Docs[^]



"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.