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 2008 Forums
 Transact-SQL (2008)
 permutate fields

Author  Topic 

sg2255551
Constraint Violating Yak Guru

274 Posts

Posted - 2010-08-25 : 23:22:01
hi

How do i permutate fields? for example

Select A, B, C, D from tableA

I want to have every possible combination for the 4 fields. The result would be in a varchar max A B C D D C B A A D B C A C B D and so on.

Thanks a lot.

khtan
In (Som, Ni, Yak)

17689 Posts

Posted - 2010-08-25 : 23:35:52
you mean the result will be a single column that concatenate the value of 4 columns (A, B, C, D) together ?

Example ?


KH
[spoiler]Time is always against us[/spoiler]

Go to Top of Page

sg2255551
Constraint Violating Yak Guru

274 Posts

Posted - 2010-08-25 : 23:46:10
Yes it is. thanks
Go to Top of Page

khtan
In (Som, Ni, Yak)

17689 Posts

Posted - 2010-08-26 : 00:11:00
Any Example like sample data and expected result ?

Is the column name fixed or dynamic ?

Is the number of columns fixed or variable ?



KH
[spoiler]Time is always against us[/spoiler]

Go to Top of Page

sg2255551
Constraint Violating Yak Guru

274 Posts

Posted - 2010-08-26 : 00:42:27
The name of the column name is fixed and the number of columns is also fixed.

I do know how i should give you the expected result. But let try this.

In column A i have a value 'Hello World'
In column B i have a value 'How are you'
In column C i have a value 'What is there'
In column D i have a value 'I am fine'

The expected result would be a permutation of columns A B C D. So you would have Hello World How are you What is there I am fine How are you What is there Hello World I am fine and so on.

As you could see there is no permutation of words but permutation at columns level. Thanks
Go to Top of Page

khtan
In (Som, Ni, Yak)

17689 Posts

Posted - 2010-08-26 : 00:44:03
quote:
The name of the column name is fixed and the number of columns is also fixed.

if this is fixed, then you can simply


select A + B + C + D + D + C + B + A + A + D + B + C + A + C + B + D and so on . .
from yourtable



KH
[spoiler]Time is always against us[/spoiler]

Go to Top of Page

sg2255551
Constraint Violating Yak Guru

274 Posts

Posted - 2010-08-26 : 00:50:44
yes you are right. at the moment the number of columns is fixed, but i am also worry that a new column might be needed in the future. so is there a dynamic script that allows me to add a new column if needed. thanks
Go to Top of Page

khtan
In (Som, Ni, Yak)

17689 Posts

Posted - 2010-08-26 : 02:33:16
quote:
so is there a dynamic script that allows me to add a new column if needed.

This will not be easy . . . . but will be fun to come up with one


KH
[spoiler]Time is always against us[/spoiler]

Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2010-08-26 : 03:51:41
quote:
Originally posted by khtan

but will be fun to come up with one
True.
-- User supplied parameters
DECLARE @TableSchema SYSNAME = 'Core',
@TableName SYSNAME = 'dimApplication'

-- Holding variables
DECLARE @Select NVARCHAR(MAX),
@From NVARCHAR(MAX)

-- Get the query parts
SELECT @Select = (
SELECT CASE ORDINAL_POSITION
WHEN 1 THEN 'SELECT '
ELSE ' '
END
+ 't'
+ CAST(ORDINAL_POSITION AS VARCHAR(12))
+ '.'
+ QUOTENAME(COLUMN_NAME)
+ CASE MAX(ORDINAL_POSITION) OVER ()
WHEN ORDINAL_POSITION THEN ''
ELSE ','
END
+ CHAR(10)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = @TableSchema
AND TABLE_NAME = @TableName
ORDER BY ORDINAL_POSITION
FOR XML PATH('')
),
@From = (
SELECT CASE ORDINAL_POSITION
WHEN 1 THEN 'FROM '
ELSE 'CROSS JOIN '
END
+ QUOTENAME(TABLE_SCHEMA)
+ '.'
+ QUOTENAME(TABLE_NAME)
+ ' AS t'
+ CAST(ORDINAL_POSITION AS VARCHAR(12))
+ CHAR(10)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = @TableSchema
AND TABLE_NAME = @TableName
ORDER BY ORDINAL_POSITION
FOR XML PATH('')
)

-- Execute the statement
EXEC (@Select + @From)


N 56°04'39.26"
E 12°55'05.63"
Go to Top of Page

sg2255551
Constraint Violating Yak Guru

274 Posts

Posted - 2010-08-26 : 04:48:40
I could not get this to work. It complains about Msg 102, Level 15, State 1, Line 1
Incorrect syntax near ','.


DECLARE @Select as NVARCHAR(MAX),
@From as NVARCHAR(MAX)


SELECT @Select =(SELECT CASE ORDINAL_POSITION WHEN 1 THEN 'SELECT '
ELSE ''
END
+ 't'
+ CAST(ORDINAL_POSITION AS VARCHAR(12))
+ '.'
+ QUOTENAME(COLUMN_NAME)
+ CASE MAX(ORDINAL_POSITION) OVER ()
WHEN ORDINAL_POSITION THEN ''
ELSE ','
END
+ CHAR(10)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'TableA' and ORDINAL_POSITION in(2,4,5,10,11,17)
ORDER BY ORDINAL_POSITION
FOR XML PATH('')
),
@From = (SELECT CASE ORDINAL_POSITION
WHEN 1 THEN 'FROM '
ELSE 'CROSS JOIN '
END
+ QUOTENAME(TABLE_SCHEMA)
+ '.'
+ QUOTENAME(TABLE_NAME)
+ ' AS t'
+ CAST(ORDINAL_POSITION AS VARCHAR(12))
+ CHAR(10)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'TableA' and ORDINAL_POSITION in(2,4,5,10,11,17)
ORDER BY ORDINAL_POSITION
FOR XML PATH('')
)

-- Execute the statement
EXEC (@Select + @From)

Go to Top of Page

sg2255551
Constraint Violating Yak Guru

274 Posts

Posted - 2010-08-26 : 04:51:06
I also found this script on the internet but i tried to replace with actual columns name from a table for the @base variable but could not get it to work.

Alter Proc sp_permutate (@n smallint)
as
begin
set nocount on
declare @sqlStmt varchar(4000)
declare @base varchar(300)
declare @list varchar(300)
declare @i int
declare @j int

set @base = '(' +
'SELECT 0 AS X, ' + '''' + 'A' + '''' + ' as Y ' + ' UNION ALL ' +
'SELECT 1 , ' + '''' + 'B' + '''' + ' UNION ALL ' +
'SELECT 2 , ' + '''' + 'C' + '''' + ' UNION ALL ' +
'SELECT 3 , ' + '''' + 'D' + '''' + ' UNION ALL ' +
'SELECT 4 , ' + '''' + 'E' + '''' + ' UNION ALL ' +
'SELECT 5 , ' + '''' + 'F' + '''' + ' UNION ALL ' +
'SELECT 6 , ' + '''' + 'G' + '''' + ' UNION ALL ' +
'SELECT 7 , ' + '''' + 'H' + '''' + ' UNION ALL ' +
'SELECT 8 , ' + '''' + 'I' + '''' + ' UNION ALL ' +
'SELECT 9 , ' + '''' + 'J' + '''' +
' ) '

-- DO the select list
set @i=1
set @list = 'SELECT '
while @i <= @n begin
SET @list = @list + 'T' + convert (varchar(2),@i) + '.Y,'
SET @i = @i + 1
end

set @list = substring (@list,1,len (@list)-1)
set @list = @list + ' FROM '

-- DO the FROM list
set @sqlStmt = @list
set @i=1
while @i <= @n begin
SET @sqlStmt = @sqlStmt + @base +' as T' + convert (varchar(2),@i) +' ,'
SET @i = @i + 1
end
set @sqlStmt = substring (@sqlStmt,1,len (@sqlStmt)-1)

-- DO first where clauses
set @sqlStmt = @sqlStmt + ' WHERE '
set @i=1
while @i <= @n begin
SET @sqlStmt = @sqlStmt + 'T' + convert (varchar(2),@i) +
'.X < ' + convert (varchar(2),@n) + ' AND '
SET @i = @i + 1
end

-- continue the WHERE clauses
set @i=1
while @i < @n begin
set @j = @i + 1
while @j <= @n begin
SET @sqlStmt = @sqlStmt + 'T' + convert (varchar(2),@i) +
'.X <> ' + 'T' + convert (varchar(2),@j) + '.X AND '
SET @j = @j + 1
end
SET @i = @i + 1
end
set @sqlStmt = substring (@sqlStmt,1,len (@sqlStmt)-4)

print @sqlStmt
exec (@sqlStmt)

set nocount off
end
go

Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2010-08-26 : 05:01:34
Of course it doesn't work when you remove some of the ordinals in the query!
If you read the query, you can see that the code is dependant on ordinal_position 1 is present.

Removing some ordinals was not public knowledge in your first post, was it?



N 56°04'39.26"
E 12°55'05.63"
Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2010-08-26 : 05:04:25
Here is the code that works with ordinals removed.
Is there something else we need to know, that you this far haven't told us?
-- User supplied parameters
DECLARE @TableSchema SYSNAME = 'Core',
@TableName SYSNAME = 'dimApplication'

-- Holding variables
DECLARE @Select NVARCHAR(MAX),
@From NVARCHAR(MAX)

-- Get the query parts
SELECT @Select = (
SELECT CASE MIN(ORDINAL_POSITION) OVER ()
WHEN ORDINAL_POSITION THEN 'SELECT DISTINCT '
ELSE ' '
END
+ 't'
+ CAST(ORDINAL_POSITION AS VARCHAR(12))
+ '.'
+ QUOTENAME(COLUMN_NAME)
+ CASE MAX(ORDINAL_POSITION) OVER ()
WHEN ORDINAL_POSITION THEN ''
ELSE ','
END
+ CHAR(10)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = @TableSchema
AND TABLE_NAME = @TableName
AND ORDINAL_POSITION IN (2, 4)
ORDER BY ORDINAL_POSITION
FOR XML PATH('')
),
@From = (
SELECT CASE MIN(ORDINAL_POSITION) OVER ()
WHEN ORDINAL_POSITION THEN 'FROM '
ELSE 'CROSS JOIN '
END
+ QUOTENAME(TABLE_SCHEMA)
+ '.'
+ QUOTENAME(TABLE_NAME)
+ ' AS t'
+ CAST(ORDINAL_POSITION AS VARCHAR(12))
+ CHAR(10)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = @TableSchema
AND TABLE_NAME = @TableName
AND ORDINAL_POSITION IN (2, 4)
ORDER BY ORDINAL_POSITION
FOR XML PATH('')
)

-- Execute the statement
EXEC (@Select + @From)


N 56°04'39.26"
E 12°55'05.63"
Go to Top of Page

sg2255551
Constraint Violating Yak Guru

274 Posts

Posted - 2010-08-26 : 05:12:23
Thanks for pointing it out. Ok i have managed to get it going, but the results is more of like cross join which i do not want. Rather it should be the result of a combination of columns and not at row level. I found this script which the result is what i expected but when i tried to replace it with actual columns name from a table for a variable called @Base, it failed. How should i replace it with actual columns. Thanks

Alter Proc sp_permutate (@n smallint)
as
begin
set nocount on
declare @sqlStmt varchar(4000)
declare @base varchar(300)
declare @list varchar(300)
declare @i int
declare @j int

set @base = '(' +
'SELECT 0 AS X, ' + '''' + 'A' + '''' + ' as Y ' + ' UNION ALL ' +
'SELECT 1 , ' + '''' + 'B' + '''' + ' UNION ALL ' +
'SELECT 2 , ' + '''' + 'C' + '''' + ' UNION ALL ' +
'SELECT 3 , ' + '''' + 'D' + '''' + ' UNION ALL ' +
'SELECT 4 , ' + '''' + 'E' + '''' + ' UNION ALL ' +
'SELECT 5 , ' + '''' + 'F' + '''' + ' UNION ALL ' +
'SELECT 6 , ' + '''' + 'G' + '''' + ' UNION ALL ' +
'SELECT 7 , ' + '''' + 'H' + '''' + ' UNION ALL ' +
'SELECT 8 , ' + '''' + 'I' + '''' + ' UNION ALL ' +
'SELECT 9 , ' + '''' + 'J' + '''' +
' ) '

-- DO the select list
set @i=1
set @list = 'SELECT '
while @i <= @n begin
SET @list = @list + 'T' + convert (varchar(2),@i) + '.Y,'
SET @i = @i + 1
end

set @list = substring (@list,1,len (@list)-1)
set @list = @list + ' FROM '

-- DO the FROM list
set @sqlStmt = @list
set @i=1
while @i <= @n begin
SET @sqlStmt = @sqlStmt + @base +' as T' + convert (varchar(2),@i) +' ,'
SET @i = @i + 1
end
set @sqlStmt = substring (@sqlStmt,1,len (@sqlStmt)-1)

-- DO first where clauses
set @sqlStmt = @sqlStmt + ' WHERE '
set @i=1
while @i <= @n begin
SET @sqlStmt = @sqlStmt + 'T' + convert (varchar(2),@i) +
'.X < ' + convert (varchar(2),@n) + ' AND '
SET @i = @i + 1
end

-- continue the WHERE clauses
set @i=1
while @i < @n begin
set @j = @i + 1
while @j <= @n begin
SET @sqlStmt = @sqlStmt + 'T' + convert (varchar(2),@i) +
'.X <> ' + 'T' + convert (varchar(2),@j) + '.X AND '
SET @j = @j + 1
end
SET @i = @i + 1
end
set @sqlStmt = substring (@sqlStmt,1,len (@sqlStmt)-4)

print @sqlStmt
exec (@sqlStmt)

set nocount off
end
go
Go to Top of Page

sg2255551
Constraint Violating Yak Guru

274 Posts

Posted - 2010-08-26 : 05:22:38
quote:
Originally posted by Peso

Of course it doesn't work when you remove some of the ordinals in the query!
If you read the query, you can see that the code is dependant on ordinal_position 1 is present.

Removing some ordinals was not public knowledge in your first post, was it?



N 56°04'39.26"
E 12°55'05.63"




Sorry. As i do not know what solution is going to be like, i therefore adapted it accordingly. thanks
Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2010-08-26 : 05:41:42
[code]-- User supplied parameters
DECLARE @TableSchema SYSNAME = 'Core',
@TableName SYSNAME = 'dimApplication'

-- Holding variables
DECLARE @Select NVARCHAR(MAX),
@From NVARCHAR(MAX),
@Values NVARCHAR(MAX)

-- Get the query parts
SET @Values = (
SELECT CASE ORDINAL_POSITION
WHEN MIN(ORDINAL_POSITION) OVER () THEN '(SELECT ' + QUOTENAME(COLUMN_NAME, '''') + ' AS ColName'
WHEN MAX(ORDINAL_POSITION) OVER () THEN ' UNION ALL SELECT ' + QUOTENAME(COLUMN_NAME, '''') + ')'
ELSE ' UNION ALL SELECT ' + QUOTENAME(COLUMN_NAME, '''')
END
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = @TableSchema
AND TABLE_NAME = @TableName
AND ORDINAL_POSITION IN (2, 4)
FOR XML PATH('')
)

;WITH cteColumns(ColNum)
AS (
SELECT CAST(ROW_NUMBER() OVER (ORDER BY ORDINAL_POSITION) AS VARCHAR(12)) AS ColNum
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = @TableSchema
AND TABLE_NAME = @TableName
AND ORDINAL_POSITION IN (2, 4)
)
SELECT @Select = (
SELECT CASE ColNum
WHEN MIN(ColNum) OVER () THEN 'SELECT t' + ColNum + '.ColName AS Col' + ColNum + ','
WHEN MAX(ColNum) OVER () THEN ' t' + ColNum + '.ColName AS Col' + ColNum
ELSE ' t' + ColNum + '.ColName AS Col' + ColNum + ','
END + CHAR(10)
FROM cteColumns
FOR XML PATH('')
),
@From = (
SELECT CASE ColNum
WHEN MIN(ColNum) OVER () THEN 'FROM '
ELSE 'CROSS JOIN '
END + @Values + ' AS t' + ColNum + CHAR(10)
FROM cteColumns
FOR XML PATH('')
)

-- Execute the statement
EXEC (@Select + @From)[/code]


N 56°04'39.26"
E 12°55'05.63"
Go to Top of Page

sg2255551
Constraint Violating Yak Guru

274 Posts

Posted - 2010-08-26 : 06:23:48
hi

Still the result is not right. Based on 4 ordinal position it should return a possible combination of 24 rows. However, i did not manage to get the result set.

I have some data sample here and have included in the where statement for ordinal position of the Yaks table. thanks

CREATE TABLE Yaks (
YakID int,
YakType nvarchar(30),
YakGender nvarchar(30),
YakPostion nvarchar(30),
YakRegion nvarchar(30) )

Insert into Yaks Values(1,'Hire','Man','Manager','North')
Insert into Yaks Values(2,'Lease','Man','Supervisor','North')
Insert into Yaks Values(3,'Hire','Lady','Director','South')
Insert into Yaks Values(4,'Lease','Lady','Officer','West')
Insert into Yaks Values(5,'Hire','Man','Officer','East')

DECLARE @Select NVARCHAR(MAX),
@From NVARCHAR(MAX),
@Values NVARCHAR(MAX)

-- Get the query parts
SET @Values = (
SELECT CASE ORDINAL_POSITION
WHEN MIN(ORDINAL_POSITION) OVER () THEN '(SELECT ' + QUOTENAME(COLUMN_NAME, '''') + ' AS ColName'
WHEN MAX(ORDINAL_POSITION) OVER () THEN ' UNION ALL SELECT ' + QUOTENAME(COLUMN_NAME, '''') + ')'
ELSE ' UNION ALL SELECT ' + QUOTENAME(COLUMN_NAME, '''')
END
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'Yaks' and ORDINAL_POSITION in(2,3,4,5)
FOR XML PATH('')
)

--Select @Values
;WITH cteColumns(ColNum)
AS (
SELECT CAST(ROW_NUMBER() OVER (ORDER BY ORDINAL_POSITION) AS VARCHAR(12)) AS ColNum
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'Yaks' and ORDINAL_POSITION in(2,3,4,5)
)
SELECT @Select = (
SELECT CASE ColNum
WHEN MIN(ColNum) OVER () THEN 'SELECT t' + ColNum + '.ColName AS Col' + ColNum + ','
WHEN MAX(ColNum) OVER () THEN ' t' + ColNum + '.ColName AS Col' + ColNum
ELSE ' t' + ColNum + '.ColName AS Col' + ColNum + ','
END + CHAR(10)
FROM cteColumns
FOR XML PATH('')
),
@From = (
SELECT CASE ColNum
WHEN MIN(ColNum) OVER () THEN 'FROM '
ELSE 'CROSS JOIN '
END + @Values + ' AS t' + ColNum + CHAR(10)
FROM cteColumns
FOR XML PATH('')
)

-- Execute the statement
EXEC (@Select + @From)
Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2010-08-26 : 06:30:14
[code]CREATE TABLE Yaks
(
YakID int,
YakType nvarchar(30),
YakGender nvarchar(30),
YakPostion nvarchar(30),
YakRegion nvarchar(30)
)

Insert Yaks
Values (1,'Hire','Man','Manager','North'),
(2,'Lease','Man','Supervisor','North'),
(3,'Hire','Lady','Director','South'),
(4,'Lease','Lady','Officer','West'),
(5,'Hire','Man','Officer','East')

DECLARE @Select NVARCHAR(MAX),
@From NVARCHAR(MAX),
@Values NVARCHAR(MAX),
@Where NVARCHAR(MAX)

-- Get the query parts
SET @Values = (
SELECT CASE ORDINAL_POSITION
WHEN MIN(ORDINAL_POSITION) OVER () THEN '(SELECT ' + QUOTENAME(COLUMN_NAME, '''') + ' AS ColName'
WHEN MAX(ORDINAL_POSITION) OVER () THEN ' UNION ALL SELECT ' + QUOTENAME(COLUMN_NAME, '''') + ')'
ELSE ' UNION ALL SELECT ' + QUOTENAME(COLUMN_NAME, '''')
END
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'Yaks'
AND ORDINAL_POSITION IN (2, 3, 4, 5)
FOR XML PATH('')
)

;WITH cteColumns(ColNum)
AS (
SELECT CAST(ROW_NUMBER() OVER (ORDER BY ORDINAL_POSITION) AS VARCHAR(12)) AS ColNum
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'Yaks'
AND ORDINAL_POSITION IN (2, 3, 4, 5)
)
SELECT @Select = (
SELECT CASE ColNum
WHEN MIN(ColNum) OVER () THEN 'SELECT t' + ColNum + '.ColName AS Col' + ColNum + ','
WHEN MAX(ColNum) OVER () THEN ' t' + ColNum + '.ColName AS Col' + ColNum
ELSE ' t' + ColNum + '.ColName AS Col' + ColNum + ','
END + CHAR(10)
FROM cteColumns
FOR XML PATH('')
),
@From = (
SELECT CASE ColNum
WHEN MIN(ColNum) OVER () THEN 'FROM '
ELSE 'CROSS JOIN '
END + @Values + ' AS t' + ColNum + CHAR(10)
FROM cteColumns
FOR XML PATH('')
),
@Where = (
SELECT CASE c.ColNum
WHEN MIN(c.ColNum) OVER () THEN 'WHERE t' + c.ColNum + '.ColName NOT IN ('
ELSE ' AND t' + c.ColNum + '.ColName NOT IN ('
END
+ STUFF((SELECT ', t' + x.ColNum + '.ColName' FROM cteColumns AS x WHERE x.ColNum > c.ColNum FOR XML PATH('')), 1, 2, '')
+ ')'
+ CHAR(10)
FROM cteColumns AS c
FOR XML PATH('')
)

-- Execute the statement
EXEC (@Select + @From + @Where)

DROP TABLE Yaks[/code]

N 56°04'39.26"
E 12°55'05.63"
Go to Top of Page

sg2255551
Constraint Violating Yak Guru

274 Posts

Posted - 2010-08-26 : 06:54:41
Sorry, actually there is another column in the Yaks table call Longvalue which stores the possible combine values from 4 columns

for row 1 the possible combination for Hire Man Manager North but the display of result is stored in Longvalue such as Hire Man Manager North Man Hire Manager North Manager Hire Man North and so on

for row 2 the possible combination for Lease Lady Supervisor North
but the display of result is stored in Longvalue such as Lease Lady Supervisor North Lady Lease Supervisor North Supervisor North Lease Lady and so on


Thanks

Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2010-08-26 : 07:22:47
First thing. Do you get the wanted result with my code posted 08/26/2010 : 06:30:14 ?


N 56°04'39.26"
E 12°55'05.63"
Go to Top of Page

sg2255551
Constraint Violating Yak Guru

274 Posts

Posted - 2010-08-26 : 07:33:26
yes i have tried but instead i get columns name displayed as a result not the actual value. Thanks

This is the result

YakGender YakRegion YakPostion YakType
YakGender YakPostion YakRegion YakType
YakPostion YakRegion YakGender YakType
YakPostion YakGender YakRegion YakType
YakRegion YakPostion YakGender YakType
YakRegion YakGender YakPostion YakType
YakType YakRegion YakPostion YakGender
YakType YakPostion YakRegion YakGender
YakPostion YakRegion YakType YakGender
YakPostion YakType YakRegion YakGender
YakRegion YakPostion YakType YakGender
YakRegion YakType YakPostion YakGender
YakType YakRegion YakGender YakPostion
YakType YakGender YakRegion YakPostion
YakGender YakRegion YakType YakPostion
YakGender YakType YakRegion YakPostion
YakRegion YakGender YakType YakPostion
YakRegion YakType YakGender YakPostion
YakType YakPostion YakGender YakRegion
YakType YakGender YakPostion YakRegion
YakGender YakPostion YakType YakRegion
YakGender YakType YakPostion YakRegion
YakPostion YakGender YakType YakRegion
YakPostion YakType YakGender YakRegion
Go to Top of Page
    Next Page

- Advertisement -