2013-12-02 4 views
1

Я пытаюсь создать что-то, о чем я даже не уверен, даже если это возможно, я искал подобные вещи в Stackoverflow и Google, но без каких-либо результатов.SQL Server: изменение значения столбца temp

Что я пытаюсь сделать?

У меня есть две таблицы, одна называется Book, а другая - UserBook. Таблица Book хранит различную информацию о книге, а UserBook имеет столбцы, такие как UserId и ISBN и DateCreated.

  • Book Уникальный идентификатор = ISBN
  • UserBook Уникальный идентификатор = ISBN, UserId

В настоящее время я пытаюсь написать запрос SQL, который возвращает все книги, и добавляет столбец временный, который называется IsVisible (значение по умолчанию равно True), но когда номер ISBN и UserId находятся в UserBook, он изменит значение температуры IsVisible на значение false в конечном результате.

Мой текущий запрос до сих пор это:

SELECT 
    Book.ISBN, Book.Title, Book.ImagePath, Book.Summary, Book.AmountAvailable, 'True' AS IsVisible 
FROM 
    Book; 

Это то, что я пытаюсь сделать даже можно?

ответ

2

Я думаю, что вы пытаетесь сделать что-то вроде этого:

SELECT b.ISBN, 
b.Title, 
b.ImagePath, 
b.Summary, 
b.AmountAvailable, 
CASE when ub.isbn is NOT NULL then 'False' else 'True' END AS IsVisible FROM Book b 
LEFT OUTER JOIN USERBook ub on ub.isbn = b.isbn 
+0

почему двойной отрицательный ??? почему нет случая, когда ub.isbn имеет значение null, тогда false else true ... –

+0

Спасибо, что это довольно близко к тому, что я имею в виду, кроме того, что мне нужно отфильтровать UserBook on UserId = 'Value'. Я собираюсь экспериментировать с этим выглядит многообещающим спасибо! Я бы дал +1, если бы мог:/но не хватило репутации ... – Albi

+0

Решил мой вопрос и пометил его как решенный :) – Albi

Смежные вопросы