2011-07-19 85 views
0

不知道這是否可能,但我想更改查詢給出的結果的值。例如,以下是我的查詢:如何更改SQL查詢的結果?

SELECT COUNT(DISTINCT `entity_id`) 
FROM `catalog_product_entity_int` 
WHERE (entity_type_id='4') 

我希望此查詢總是返回X而不是結果的實際值。

編輯:應該更具體。我無法訪問調用此查詢的代碼。

+0

這在您給出的上下文中並沒有太多意義。如果你只是想返回一個靜態數字,你爲什麼會聚合計數?例如'SELECT 5' –

+0

X是一個字符串,任何隨機值,你傳入的東西...?或者在哪裏找到寶藏? – gbn

+0

對不起。我應該更具體。基本上,我無法更改查詢,因爲我無法訪問查詢。該查詢可能會返回1615,但我希望它始終顯示不同的數字。就像我說的,不確定是否有可能。 – theseanstewart

回答

0

您可以選擇一個常數。

SELECT 5;

1

如果你想硬編碼的值,那麼你只需做到以下幾點:

SELECT 'X' 
FROM 
(
    SELECT COUNT(DISTINCT `entity_id`) 
    FROM `catalog_product_entity_int` 
    WHERE (entity_type_id='4') 
) As MySearch 

不告你爲什麼會想這樣做。

0

好吧,如果你有機會到這個查詢,你可以這樣做:

SELECT X FROM table

總是返回X,但我不知道這是你的意思:d

+0

您甚至不需要從表中選擇來執行此操作。你可以'SELECT X' –

+1

@George:甚至不需要進行SQL調用......? – gbn

+0

@gbn哈哈哈,是的,也是。 ;) –

0

可能你需要這樣的東西?

SELECT COUNT(DISTINCT `entity_id`) as 'X' 
FROM `catalog_product_entity_int` 
WHERE (entity_type_id='4') 
0

如果你不能改變代碼(根據你對問題的評論),你不能讓它返回不同的東西。不同的代碼將返回不同的東西......

所以「不可能的」,除非改變可以對查詢

進行除非你能「隱藏」或「面具」表catalog_product_entity_int所以這是你的桌子,說,其中1615行。但這取決於使用此表的其他查詢。在SQL Server中,您可以使用同義詞或模式:不確定在MySQL中如何實現這一點(如果可行))