2010-12-31 14 views
-1

iは二つのテーブル#1054 - 不明な列 'de15a674d1252f6565a65756ebfa97e8e1e58c9c' 'WHERE句'

CREATE TABLE IF NOT EXISTS `user` (
    `user_id` int(20) NOT NULL AUTO_INCREMENT, 
    `ud_id` varchar(50) NOT NULL, 
    `name` text NOT NULL, 
    `password` text NOT NULL, 
    `email` varchar(200) NOT NULL, 
    `image` varchar(150) NOT NULL, 
    PRIMARY KEY (`user_id`) 
) ENGINE=InnoDB

とmycatchテーブルを持っている中では、私は両方のテーブルからデータを取得したい

CREATE TABLE IF NOT EXISTS `mycatch` (
    `catch_id` int(11) NOT NULL AUTO_INCREMENT, 
    `catch_name` text NOT NULL, 
    `catch_details` text NOT NULL, 
    `longitude` float(10,6) NOT NULL, 
    `latitude` float(10,6) NOT NULL, 
    `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 
    `image` varchar(150) NOT NULL, 
    `user_id` int(20) NOT NULL, 
    PRIMARY KEY (`catch_id`), 
    KEY `user_id` (`user_id`) 
) ENGINE=InnoDB; 
ALTER TABLE `mycatch` 
    ADD CONSTRAINT `mycatch_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;

です。すなわち

SELECT longitude,latitude 
FROM user u 
LEFT JOIN mycatch m ON u.user_id = m.user_id 
WHERE u.ud_id =de15a674d1252f6565a65756ebfa97e8e1e58c9c 
AND m.catch_id >7

しかし、あなたが、これは#1054 - Unknown column 'de15a674d1252f6565a65756ebfa97e8e1e58c9c' in 'where clause'
私にエラーを与えるが、私は= 123456789が、それは正常に動作します

答えて

4

をu.ud_id変更するときは、u.ud_id

SELECT longitude,latitude 
FROM user u 
LEFT JOIN mycatch m ON u.user_id = m.user_id 
WHERE u.ud_id = 'de15a674d1252f6565a65756ebfa97e8e1e58c9c' 
AND m.catch_id >7 
+0

ありがとうあなたの注意のためにそれは動作します – hunter

+0

どのように私は同じクエリを使用してmycatchテーブルからすべてのフィールドを取得することができます – hunter

1

周りの単一引用符を必要としますあなたの値を引用符で囲む必要があります:

... WHERE u.ud_id='de15a674d1252f6565a65756ebfa97e8e1e58c9c' ... 
関連する問題