Выберите одну и ту же строку дважды с разными значениями столбцов без использования объединения
Всем Привет,
Если у меня есть стол выглядит так:
(ID,fName,lName,choice1,choice2)
Если я выберите * myTable, где Id=1 он должен возвращать 1 строку с 2 вариантами выбора
Я хотел бы выбрать из таблицы одну и ту же строку дважды с одним из вариантов каждый раз, как показано ниже:
1,Джон , Доу, choice1
1,Джон, Доу, choice2
Есть идеи как это реализовать без используя союз?
Любая помощь будет оценена по достоинству
Что я уже пробовал:
Я попробовал использовать union который должен работать
Select Id,fName,lName,choice1 from myTable WHERE choice1>0 UNION Select Id,fName,lName,choice2 from myTable WHERE choice2>0 --I'm looking for a solution that doesn't use union
Mohibur Rashid
Почему ты ненавидишь профсоюз?
Если у вас возникли проблемы с получением обоих элементов, используйте
СОЮЗ ВСЕХ
Samira Radwan
это требование не использовать UNION или UNION ALL
Mohibur Rashid
Это же домашнее задание!
Samira Radwan
нет, мой босс не любит профсоюзы !!
сказанное нужно сделать по-другому, чего я на самом деле не знаю
Mohibur Rashid
это странно! попробовать "отмена сведения", я не уверен, если это поможет https://stackoverflow.com/questions/18026236/sql-server-columns-to-rows
Richard Deeming
Тогда, возможно, ваш босс должен объяснить, что он думает о решении, и почему ему это не нравится UNION
.
Звучит как плохой случай программирования "карго-культа" - он однажды бегло просмотрел где-то статью, в которой был конкретный сценарий, где UNION
создавал проблемы, и все, что он отнимал у нее, - это мысль о том, что "UNION
плохо", не имея ничего, чтобы поддержать это мнение.
Или, может быть, он имел в виду профсоюзные объединения[^], а это совсем другое дело. :)
Samira Radwan
ЛОЛ :)
Иногда лучше не спрашивать!! ;)
Кроме того, глядя на светлую сторону, я узнал новый подход благодаря @Mohibur :)
Спасибо!