Promis Patel Ответов: 3

Как получить нулевое значение в столбце?


Check all column and get `value` + `null` record.

**Original table** 

  
    Id	Tname	MobileNumber	OtherMobileNumber
    1	john	 9737943110	      9865986532
    2	marry	 null    	      8765986521
    3	dally	 5487986512	      null

(-) is like a value,you assume any kind

**Expected Result**

    Id	Tname	Conatct
    1	john	9737943110			
    2	john	9865986532		
    3	marry	null
    4   marry   8765986521
    5   dally   5487986512	      
    6	dally	null      		


Что я уже пробовал:

Я пытаюсь, но не могу получить ожидаемого результата

OriginalGriff

Это не очень хороший вопрос - мы не можем понять из этого малого, что вы пытаетесь сделать.
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы.
Поэтому вместо" -", которое ничего не значит, используйте примеры данных:
1, Майк, 012345, 06789
2, Джо, 09876, 054321
3, Джейн, 063452, ноль
Результат:
1, ???, ???
2, ???, ???
3, ???, ???

И объясните, почему вы хотите ноль в третьей строке, или именно то, что вы хотите!
Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

Promis Patel

Хорошо,я обновляю вопрос.

OriginalGriff

:вздыхать:
И каковы результаты, которые вы ожидаете от данных, которые Вы нам дали?
Гадание - не лучший способ дать вам решение...
О, и покажи нам, что ты пробовал - это тоже может помочь.

Promis Patel

Пожалуйста проверьте am обновите вопрос

CHill60

Покажите нам код, который вы пробовали, чтобы мы могли лучше направлять вас

3 Ответов

Рейтинг:
2

Maciej Los

Если вы хотите получить только первое ненулевое значение, то самый простой способ-использовать ОБЪЕДИНЯТЬСЯ()[^] функция:

SELECT Tname, COALESCE(MobileNumber, OtherMobileNumber) AS Contact
FROM YourTable


Кстати: я бы избегал показывать NULLs в качестве контактного номера.

Удачи вам!


Рейтинг:
1

CHill60

Самый простой способ сделать это-использовать СОЮЗ[^] но, основываясь на других вопросах домашнего задания, которые я недавно видел, ваш учитель может захотеть, чтобы вы использовали оператор UNPIVOT[^]


Maciej Los

Кэролайн, почему?
А как насчет функции COALESCE () (уже упомянутой в моем ответе)?
[РЕДАКТИРОВАТЬ]
К сожалению, мой плохой. Я не очень внимательно прочитал вопрос.
5ed!

Рейтинг:
0

Santosh kumar Pithani

CREATE TABLE #TEMP (
	Id INT
	,Tname VARCHAR(100)
	,MobileNumber NUMERIC(10)
	,OtherMobileNumber NUMERIC(10)
	)

INSERT INTO #TEMP

VALUES (1,'john',9737943110,9865986532)
	  ,(2,'marry',NULL,8765986521)
	  ,(3,'dally',5487986512,NULL)

SELECT 
     ROW_NUMBER()OVER(ORDER BY (SELECT 1)) AS ID
	,Tname
	,Contact
FROM #TEMP
CROSS APPLY (
	        VALUES (MobileNumber)
		          ,(OtherMobileNumber)
	        ) AS Tab(Contact)


Maciej Los

5ed!