Уникальное перекрестное соединение в таблице SQL

У вас нет разрешения на доступ к Photo Library. Вы должны сначала запросить его. Для этого используйте следующий код:

PHPhotoLibrary.requestAuthorization
{ (PHAuthorizationStatus status) -> Void in
     switch (status)
     {
        case .Authorized:
            // Permission Granted
            println("Write your code here")
        case .Denied:
            // Permission Denied
            println("User denied")
        default:
            println("Restricted")
        }
    }

Для получения дополнительной информации обратитесь: requestAuthorization

0
задан Dale Burrell 4 March 2019 в 05:48
поделиться

2 ответа

Я не думаю, что вы можете сделать это в SSRS напрямую, поскольку у вас нет возможности присоединиться к таблицам, поскольку они не имеют уникального ключа.

На мой взгляд, у вас есть два варианта. Добавьте ключ к каждой таблице, а затем используйте поиск в SSRS. Примечание: вы не можете использовать RowNumber () в вычисляемом столбце или в функции LOOKUP в SSRS, поэтому ключи необходимо указывать непосредственно в запросе к набору данных.

Второй, и, возможно, более простой вариант, это сделать это на стороне сервера и использовать один набор данных. Я не MySQL человек, но я думаю, что следующее должно работать нормально на MySQL 8.0 или выше.

CREATE TABLE Table1(Age int, LowerRange int, UpperRange int, Median int);
INSERT INTO Table1(Age, LowerRange, UpperRange, Median) VALUES
(6,100, 120, 1),
(8,200, 400, 4),
(10,300, 700, 7),
(12,400, 1100, 1),
(14,500, 4000, 4),
(16,600, 7000, 7),
(18,700, 11000, 1),
(20,800, 40000, 4),
(22,900, 70000, 7);

CREATE TABLE Table2(Age int, Value int);
INSERT INTO Table2(Age, Value) VALUES
(8, 150),
(9, 270),
(14, 530),
(22, 980);

SELECT 
        * 
    FROM 
        (SELECT *, ROW_NUMBER() OVER(ORDER BY Age) rn FROM Table1) x
        LEFT JOIN 
        (SELECT *, ROW_NUMBER() OVER(ORDER BY Age) rn FROM Table2) y
            ON x.rn = y.rn

Это вернет точные результаты, которые вы показали в вашем примере (плюс номера строк, которые вы, очевидно, можете исключить, если хотите)

Вот скрипка для вышеприведенных демонстраций.

https://www.db-fiddle.com/f/bMVF9Co46dhAip5GHuofAw/0

0
ответ дан Alan Schofield 4 March 2019 в 05:48
поделиться

Чтобы объединить два набора данных в SSRS, вы можете использовать Lookup() для обоих внешних ключей. Поместите таблицу в свой отчет, затем свяжите таблицу с Dataset1. Поместите все поля из Dataset1 в ваш tablix. Для отображения полей из Dataset2 используйте следующее выражение в таблице:

=Lookup(Fields!Dataset1ID.Value, Fields!Dataset2ID.Value, Fields!Dataset2DisplayedField.Value, "Dataset2")

Это выражение будет искать совпадение ID´s, а затем отображает третий аргумент. Вы можете делать это чаще, чтобы отображать различные поля из Dataset2.

0
ответ дан Strawberryshrub 4 March 2019 в 05:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: