-1

たとえば、列「タイプ」を持たないテーブルがあります。しかし、その列を持つSQLクエリが必要です。クエリを実行すると、エラーが発生します。

SELECT t.foo, t.boo, t.type FROM tabl AS t;

Unknown column 't.type' in 'field list'

三項演算子のようなものが必要です。これらの解決策を試しましたが、どちらも機能しません:

SELECT f.foo, f.boo, IF(f.type IS NULL, 'x', f.type) AS type FROM tabl AS f
SELECT f.foo, f.boo, (CASE WHEN f.type IS NULL THEN "x" ELSE f.type) AS type FROM tabl AS f

そのようなクエリを実装する可能性はありますか?

4

3 に答える 3

2

このようなものを使用してください。2 つのテーブルの行を結合する必要があり、1 つの行に列がないとします。

   SELECT t.foo, t.boo, t.type FROM tabl1 as t1 

   UNION

   SELECT t.foo, t.boo, NULL as type FROM tabl2 AS t2;

NULL を文字列 "" またはアプリケーションが必要とするものに置き換えることができます。

于 2013-08-27T16:34:04.673 に答える
0

エントリのあるテーブルがあることを意味していると思います...エントリの一部に「タイプ」列が入力されていません。デフォルト値を設定するには、テーブルを変更する必要があります。phpmyadmin (デフォルト値を設定) または SQL コードを使用して変更できます。

これは、次の行にあるものです。

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255) DEFAULT 'London'
)

これにより、各エントリの都市がデフォルトでロンドンに設定されます

于 2013-08-27T16:39:47.417 に答える