0

現在、SELECTステートメントで機能しているものは次のとおりです。

SELECT
    movieitemdetails.barcode,
    IFNULL(movieitemdetails_custom.title, movieitemdetails.title) AS title
FROM
...

問題は、列名と列の数に関して、SQL をより動的にする必要があることです。*すべての行を動的に引き戻すために使用する必要があります。必要なものを示す擬似コードの例を次に示します。

IFNULL(movieitemdetails_custom.*, movieitemdetails.*) AS *

各テーブルで同じ名前の列をすべて戻してIFNULL比較する必要があります。明らかに、上記のコードは正しくありません。

私が持っているものをより動的にする方法について誰かアイデアがあります*か?

特定の人々への注意: をどのように使用してはならないかについて、私に文句を言わないでください*。一般的な使用では推奨されないことはわかっていますが、この特定のプロジェクトではそれを使用しています。

4

2 に答える 2

0

次のように、各列を個別に行う必要があります。

SELECT
    movieitemdetails.barcode,
    IFNULL(movieitemdetails_custom.title, movieitemdetails.title) AS title
    IFNULL(movieitemdetails_custom.col2, movieitemdetails.col2) AS col2
    IFNULL(movieitemdetails_custom.col3, movieitemdetails.col3) AS col3
FROM
...

ただし、列の量に関してより動的にすることで何を意味するのか正確にはわかりません.. SELECT ステートメントには可変数の列を含めることができないため、その動作が必要な場合は、ストアドプロシージャを使用するか、SQL を動的に構築する必要があります.

于 2013-10-14T18:34:49.867 に答える