При первом прочтении вашего вопроса я собирался ответить, что вы можете изменить SELECT
в своем запросе на SELECT DISTINCT
(используя DISTINCT
модификатор), чтобы удалить повторяющиеся результаты. Однако, глядя на ваш набор результатов, я не вижу дублирующихся ответов. Каждая строка кажется уникальной. Значения для ?xs
и ?ys
оказались одинаковыми, но комбинации ?z
и ?Souhaite
делают строки разными. Ваши результаты по сути являются продуктом { xs1 } × { ys1 } × { z1, z2, z3 } × { S1, S2, S3 }
и не содержат дубликатов.
Я только что внимательно изучил запрос и результаты, которые вы показываете, и обнаружил некоторые несоответствия. Например, в ваших результатах есть переменная с именем ?xs
, но в вашем запросе такая переменная не используется. Я предполагаю, что ?x
должно быть ?xs
. Кроме того, имена переменных ?xs
, ?ys
, ?z
и ?Souhaite
совсем не информативны. Трудно говорить о них, когда мы не знаем, какую роль они играют в результате.
Что касается результатов, которые вы ожидаете, ?xs
и ?ys
действительно должны быть связаны для каждой строки. Например, во второй строке желаемых результатов есть ?z
и ?Souhaite
, но нет ?xs
и ?ys
, но они, вероятно, не имеют никакого смысла без соответствующих ?xs
и ?ys
, верно? Таким образом, я не буду пытаться решить проблему с пустыми столбцами во второй и третьей строках; они не должны быть пустыми.
В ожидаемых результатах вы удалили строки, содержащие много комбинаций ?z/?Souhaite
, например "Besoins …" "Schemas …"
и "Volume …" "Fourchette …"
. Они появились в результатах, потому что они есть в ваших данных. Если вам нужна помощь в очистке ваших данных, чтобы их не было, нам нужно будет увидеть ваши данные и узнать кое-что о том, откуда они взялись.
person
Joshua Taylor
schedule
25.05.2013